欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    在使用Java實際編程中,多線程可以說是無所不在,凡是需要并發執行的都可以用到它,一個應用程序中不用多線程將會是很糟糕的事情,所以 掌握線程以及它的控制操作是非常重要的 。

    通過本篇文章今天帶大家一文掌握線程控制操作,感謝您的觀看。

    目錄

    :pencil2:

    :pencil2:

    一、線程的基本概念

    1.并行和并發

    并行:多個CPU核心同時工作,處理不同的任務。

    并發:多個任務交替使用 CPU 核心工作,以提高 CPU 利用率。

    2.進程和線程

    進程:程序的第一次執行。由操作系統創建并分配資源,執行一個單獨的任務。

    進程是系統進行資源分配和調度的獨立單位,每個進程都有自己的內存空間和系統資源。進程內所有線程共享堆存儲空間,保存程序中定義的對象和常量池。

    Windows系統中,每個運行的 Java 程序都是一個獨立的進程。

    線程:進程內的執行單元,不分配單獨的資源,執行一個單獨的子任務。

    線程是進程內調度和分派的基本單位,共享進程資源。每個線程有自己的獨立的棧存儲空間,保存線程執行的方法以及基本類型的數據。

    運行的 Java 程序內包含至少一個主線程 main ,用戶可以在 Java 程序中自定義并調用多個線程。 JVM 垃圾回收線程也是一個獨立的線程。

    二、線程的運行狀態

    線程除創建狀態 New 和結束狀態 Terminate 外,主要有以下幾種運行狀態:

    ①運行(Running) :CPU 正在執行線程。

    ②就緒(Runnable) :線程一切就緒,等待 CPU 執行。

    運行/就緒狀態 統稱為可運行狀態 Runnable。 Java 程序中,線程在 運行/就緒狀態 之間的切換由 JVM 自動調度,開發者無法獲知。線程之間的調度采用分優先級多隊列時間的輪轉算法。進程在執行完 CPU 時間片切換到就緒狀態之前會先保存自己的狀態,下次進入運行狀態時再重新加載。

    ③阻塞(Blocked) :線程因缺少其他資源,比如請求資源被上鎖而暫停執行。在獲得資源后進入就緒狀態。

    ④等待(Waitting) :線程接受了等待指令,釋放資源暫停執行。在超時/接受喚醒指令后進入就緒狀態。

    三、線程操作實踐

    Runnable 接口內唯一聲明了 run 方法,由 Thread 類實現。開發者在 run 方法中定義運行時線程將要執行的功能,線程開啟后由Java虛擬機自動調用并執行。如果開發者主動調用 run 方法,則只會當作普通方法來執行。

    1.線程兩種定義方法

    ①繼承 Thread 類,重寫 run 方法。

    public class MyThread extends Thread {
       @Override
       public void run() {
           System.out.println(Thread.currentThread().getName());
       }
    }

    ②實現 Runnable 接口,實現 run 方法。推薦使用,避免了單繼承的局限性。

    public class MyThread implements Runnable {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName());
        }
    }

    2.啟動線程

    Thread 類定義了 start 方法。調用 start 方法后,系統會開啟一個新線程進入就緒狀態:由 JVM 會自動對線程進行調度,在運行時調用并執行線程的 run 方法。一個線程只能啟動一次。

    ①如果自定義線程類繼承 Thread 類,直接啟動。

    public class Main {
       public static void main(String[] args) {
           MyThread t1=new MyThread();
           MyThread t2=new MyThread("ThreadName");
           t1.start();
           t2.start();
       }
    }

    ②如果自定義線程類實現 Runnable 接口,則需要借助 Thread 類啟動線程。

    public class Main {
       public static void main(String[] args) {
           MyThread mythread=new MyThread();
           Thread t1=new Thread(mythread);                   // 由系統指定默認線程名 Thread-X
           Thread t2=new Thread(mythread, "ThreadName");     // 開發者自定義線程名 
           t1.start();
           t2.start();
       }
    }

    3.同時定義和啟動線程

    通過匿名內部類方式,我們可以實現同時定義和啟動線程的簡潔寫法。

    public class Main {
        public static void main(String[] args) {
            Thread thread=new Thread(new Runnable(){
                public void run(){
                    System.out.println(Thread.currentThread().getName());
                }
            }).start();
        }
    }
    
    class Test {
       public void method() {
           System.out.println(Thread.currentThread().getName());
       }
    }

    4.線程彈出與暫停

    Thread 類定義了 yield 方法。當前線程執行到 Thread.yield() 方法,會停止運行進入就緒狀態。當線程切換到就緒狀態后,什么時候被 JVM 調度回運行狀態開發者無法控制。

    public class ThreadDemo {
        public static void main(String[] args) {
           MyThread mythread=new MyThread();
           Thread t1=new Thread(mythread);              
           Thread t2=new Thread(mythread);    
           t1.start();
           t2.start();
        }
    
        static class MyThread implements Runnable {
            @Override
            public void run() {
                int count=0;
                for (int i=0; i < 10000; i++) {
                    Thread.yield();                    // 切換到就緒狀態
                    count++;
                    System.out.println(count);
                }         
            }
        }
    }

    Thread 類定義了 sleep 方法。當前線程執行到 Thread.sleep(1000) 方法,會停止運行進入阻塞狀態,但仍會保持對象鎖,其他線程不可訪問其資源。直到超時后才進入就緒狀態。調用 sleep 方法需要捕獲或拋出 InterruptException 異常。

    public class ThreadDemo {
        public static void main(String[] args) {
           MyThread mythread=new MyThread();
           Thread t1=new Thread(mythread);              
           Thread t2=new Thread(mythread);    
           t1.start();
           t2.start();
        }
    
        static class MyThread implements Runnable {
            @Override
            public void run() {
                int count=0;
                for (int i=0; i < 10000; i++) {
                    try{
                        Thread.sleep(1000);             // 當前線程暫停 1s
                    } catch(InterruptException e){
                        e.printStackTrace();
                    }
    
                    count++;
                    System.out.println(count);
                }         
            }
        }
    
    }

    5.線程等待與喚醒

    ①線程等待

    當前線程執行 obj.wait() 方法,線程會停止運行并釋放對象鎖 obj,其他線程可以訪問其資源。同時線程進入 obj 對象的等待池,直到被 notify 方法喚醒進入就緒狀態。調用 wait 方法需要捕獲或拋出 InterruptException 異常。

    wait 方法允許計時等待。當前線程執行 obj.wait(1000) 方法,計時結束后線程會被自動喚醒進入就緒狀態。

    ②線程喚醒

    當前線程執行 obj.notify() 方法,會隨機從 obj 對象等待池中選擇一個線程喚醒,使其進入就緒狀態。但是 notify 方法不會釋放當前進程的對象鎖,如果該線程持有 obj 對象的鎖,當前線程釋放鎖后被喚醒的其他線程才能被執行。如果想被喚醒線程先執行,notify 方法后添加 wait 方法釋放鎖。

    當前線程執行 obj.notifyall() 方法,會將所有 obj 對象等待池中所有線程喚醒。

    public class ThreadDemo {
        public static void main(String[] args) {
            MyThread t=new MyThread("t");
            synchronized(t) {                         // 對 t 設置對象鎖
                try {
                    t.start();
                    System.out.println("1");
                    t.wait();                         // 當前線程釋放 t 鎖,進入 t 對象等待池
                    System.out.println("4");
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    
        static class MyThread extends Thread {
            @Override
            public void run() {
                synchronized (this) {                 // 對 t 設置對象鎖        
                    Thread.sleep(1000);
                    System.out.println("2");
                    this.notify();                    // 隨機喚醒一個 t 對象等待池中的線程
                    System.out.println("3");
                }
            }
        }
    }

    6.線程中斷

    調用 t.stop() 方法可以強制終止線程 t 運行,但強制中斷線程可能會造成意想不到的問題,已不推薦使用。

    目前主要采用設置線程中斷標志的方式,向線程發送中止信號。由線程自行終止運行:

    t.interrupt()
    t.isInterrupted()
    t.interrupted()
    
    public class ThreadDemo {
        public static void main(String[] args) {
           MyThread mythread=new MyThread();
           Thread t=new Thread(mythread);              
           t.start();
           try {
                Thread.sleep(500);
            } catch (InterruptedException e) {}
           t.interrupt();                            // 設置中斷標志為 true
        }
    
        static class MyThread implements Runnable {
            @Override
            public void run() {
                while (true) {
                    System.out.print("hello");
                    if(this.isInterrupted()){        // 查看中斷標志,若為 true 結束循環
                        break;
                    }
                }
            }        
        }
    
    }

    原文鏈接:https://blog.csdn.net/m0_63947499/article/details/125416461

    上一篇我簡單對七彩虹隱星P16做了個開箱,這篇我來單獨對七彩虹隱星P16性能部分進行測試。

    走小米路線的新“星”游戲本?搭載RTX 4060的七彩虹隱星P16開箱

    七彩虹隱星P16采用的是藍天Insyde H2O圖形化BIOS,版本號為1.07。這個Insyde BIOS曾經也是主流BIOS之一,常見于神舟、惠普等品牌機上。界面比較簡單,主要包含五個基本常用的功能選項,如果想要解鎖高級模式,那就需要搭配H2OUVE軟件或是UEFI Shell等軟件。如果沒特別需求的話,建議不要輕易改動BIOS參數設定或是刷第三方BIOS。

    七彩虹隱星P16預裝的是Windows 11家庭中文版,版本號是22H2(22621.1413),系統沒有預裝Office。以下全部測試也是以該版本進行。從下圖可以看到,七彩虹隱星P16分辨率就是2560*1600@165Hz。

    英特爾酷睿i7-12650H是采用Intel 7工藝制程的第12代酷睿H系列移動標壓處理器,屬于中高端型號。英特爾酷睿i7-12650H采用了6顆性能核心+4顆能效核心(6P+4E))的大小核設計,TDP為45瓦,自帶24MB三級緩存。

    CPU方面,七彩虹隱星P16在CPU-Z軟件下的單線程性能得分為719.3,高與i7-10700的568和銳龍7-3700X的511,性能提升明顯;多線程分數為5671.1,性能與i7-10700的5625接近,高于銳龍7-3700X的5433。

    七彩虹隱星P16在CineBenchR 20下的跑分情況如下,CPU單核得分675cb,多核得分4629 cb;七彩虹隱星P16在CineBenchR 23下的跑分情況如下,CPU單核得分1752 pts,多核得分11729 pts。

    七彩虹隱星P16在3DMark CPU Profile下單線程得分為954,最大線程下得分為6759。

    七彩虹隱星P16在Geekbench6下的得分情況如下,單核得分為2227,多核得分為9900。

    下面我們來看看七彩虹隱星P16內置顯卡性能表現如何。

    與PC端的驅動軟件升級不同,筆記本端的驅動升級要慢很多。我這里這臺隱星P16的驅動版本為5月15日發布的531.87,隨著后續版本的升級,對應的軟件和游戲測試結果會比本文中的結果高屬于正常現象。

    首先我這里先搭配3DMARK跑個分供部分玩家參考。

    七彩虹隱星P16在PCIe功能測試下的帶寬為12.98GB/s。

    七彩虹隱星P16在Fire Strike下的跑分為 22730 分,其中顯卡分數為27355。

    七彩虹隱星P16在Fire Strike Extreme下的跑分為 12000 分,其中顯卡分數為12625。

    七彩虹隱星P16在NVIDIA DLSS功能測試下的結果如下,DLSS關閉的下的幀數為12.02 fps,DLSS3開啟后則提升到了52.93fps,對比原來的12幀高出了4倍以上,可見DLSS 3的性能確實強悍。注意,DLSS3測試下的DLSS輸出分辨率為3840 ×2160,對應的模式為性能模式。

    七彩虹隱星P16在Port Royal下的分數為5878,戰地5、APEX Legend、GTA V在1440P Ultra預設參數下的預估游戲性能分別為95+ fps、105+ fps和60+ fps,可以實現2K分辨率、高參數設置下暢玩游戲。

    七彩虹隱星P16在AIDA64 GPGPU Benchmark下的性能表現如下,對應的讀寫拷貝性能分別為12514 MB/s、12431 MB/s和829.94 GB/s。

    七彩虹隱星P16在GeekBench6 GPU benchmark下的性能得分為97588。

    接著來看看七彩虹隱星P16在PCMARK10下得分情況,PCMARK10下的總得分是7151,常用基本功能得分是10135,生產力得分是9199,數位內容創作得分是10645。

    七彩虹隱星P16在PCMARK10 extened下得分情況,PCMARK10下的總得分是7923,常用基本功能得分是10085,生產力得分是10047,數位內容創作得分是10542,游戲得分為9971。

    七彩虹隱星P16內置一塊512G的七彩虹CN600 Pro,這是一款PCIe 3.0*4硬盤,支持NVMe 1.4協議。七彩虹CN600 PRO采用了是聯蕓科技MAP1202A主控以及國產長江存儲128層TLC存儲顆粒,官方連續讀寫性能分別是3300MB/s和2600MB/s。

    在讀寫速度方面,從搭配CrystalDsikMark實際測試來看,七彩虹CN600 Pro讀寫性能分別達到了3541MB/s和2706MB/s,沒有存在虛標的問題。對于追求大容量和讀寫性能的用戶,可以直接升級到2塊2T PCIe 4.0*4的m.2 NVMe SSD。

    由于七彩虹隱星P16游戲本預裝單條DDR5 4800MHz內存條,在性能方面的優勢不太明顯,后續有必要手動升級到更高頻率的雙通道DDR5內存條。

    下面我來談談七彩虹隱星P16游戲本搭配游戲實測表現如何,我這里選擇了《古墓麗影:暗影》、《Far Cry 6》、《極限競速:地平線5》、《賽博朋克2077》這幾款內置Benchmark的游戲。

    《古墓麗影:暗影》參數這里選擇了DX12、2560*1600分辨率、預設畫面質量最高,NVIDIA RTX DLSS對應選項為平衡模式,七彩虹隱星P16游戲本在《古墓麗影:暗影》下的平均幀率為118fps。

    《Far Cry 6》在預設畫面質量高、2560*1600分辨率下,七彩虹隱星P16游戲本在《Far Cry 6》下的平均幀率達到了88,可以更加流暢的運行游戲。

    《極限競速:地平線5》在視覺預設超高+2560*1440分辨率+光線追蹤質量高下,七彩虹隱星P16游戲本在《極限競速:地平線5》下的平均幀率為100fps,整體表現相對平穩。

    最后是支持英偉達RTX DLSS 3技術以及Reflex的《Cyberpunk 2077》,預設光線追蹤Ultra、2560*1600分辨率+DLSS質量 Auto模式下,七彩虹隱星P16游戲本在《Cyberpunk 2077》下的平均幀率為45.04。

    如果你修改為超級性能模式的話,那么平均幀率會提升到70.69fps。

    在壓力測試這塊,我這里選擇了Furmark@2560*1440分辨率對七彩虹隱星P16游戲本進行壓力測試,不搭配AIDA64進行雙烤壓力測試,室溫30度、無空調。初始測試時七彩虹隱星P16游戲本的顯卡功耗可以達到141.4W。

    烤機一段時間后,GPU溫度提升到了84.8攝氏度,對應的功耗也基本穩定在了109W。如果在空調環境下進行測試,這個GPU溫度會更低一些,功耗也會有對應提升。就室溫以及這個測試結果而言,七彩虹隱星P16游戲本在散熱性能方面的表現已經很不錯。

    七彩虹隱星P16游戲本整機在這個測試過程中,初期功率可以達到190瓦,之后功耗會在165瓦~190瓦之間波動。

    最后聊聊七彩虹這個官方驅動控制中心,這類軟件可以說是品牌類筆記本標準必備的軟件,可以用來調節性能模式、修改燈光、修改按鍵、錄制宏等等。

    總的來說,當下酷睿i7-12650H+ RTX 4060 LAPTOP GPU的硬件配置已經成為6000元價位的流行標配,此類筆記本最大的賣點是支持DDR5內存以及支持DLSS 3技術的英偉達RTX 40系Laptop GPU,尤其是開啟DLSS后可以在不犧牲畫質的前提下大幅提升幀率,從而提升流暢的游戲體驗。

    作為七彩虹推出的全新系列電競筆記本,七彩虹隱星P16在外觀設計方面采用了辨識度很高的圖案和配色設計,硬件配置可以滿足日常大部分游戲、設計需求,搭配GPU直連設計以及散熱設計方面的優化升級,可以充分發揮CPU和GPU的性能,滿足玩對高性能體驗以及模式下的散熱需求。此外筆記本拆裝也比較方便,日后內存和SSD的擴容升級也比較簡單。

    最后想要提醒各位的是,如果你想要給七彩虹隱星P16搭配多功能Type-C口便攜顯示器使用或是搭配多功能Type-C口桌面顯示器使用,務必確認顯示器的Type-C口支持DP傳輸協議,此類顯示器一般都在在Type-C下方標識DP logo,否則的話會無法正常實現畫面輸出功能。

    以上就是此次簡單的體驗分享,感謝各位觀看。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有