網站首頁 教育 學前教育 精緻生活 飲食養生 命理 科普教育 金融 歷史 影視 數碼 熱門資訊
當前位置:生活百科站 > 精緻生活 > 

執行緒的幾種狀態

欄目: 精緻生活 / 釋出於: / 人氣:3.16W

執行緒的幾種狀態

執行緒的6種狀態:

1、New新建狀態:執行緒剛被建立,start方法之前的狀態。

2、Runnable執行狀態:得到時間片執行中狀態,Ready就緒,未得到時間片就緒狀態。

3、Blocked阻塞狀態:如果遇到鎖,執行緒就會變為阻塞狀態等待另一個執行緒釋放鎖。

4、Waiting等待狀態:無限期等待。

5、Time_Waiting超時等待狀態:有明確結束時間的等待狀態。

6、Terminated終止狀態:當執行緒結束完成之後就會變成此狀態。

執行緒(英語:thread)是作業系統能夠進行運算排程的最小單位。它被包含在程序之中,是程序中的實際運作單位。一條執行緒指的是程序中一個單一順序的控制流,一個程序中可以併發多個執行緒,每條執行緒並行執行不同的任務。在Unix System V及SunOS中也被稱為輕量程序(lightweight processes),但輕量程序更多指核心執行緒(kernel thread),而把使用者執行緒(user thread)稱為執行緒。

執行緒是獨立排程和分派的基本單位。執行緒可以為作業系統核心排程的核心執行緒,如Win32執行緒;由使用者程序自行排程的使用者執行緒,如Linux平臺的POSIX Thread;或者由核心與使用者程序,如Windows 7的執行緒,進行混合排程。

同一程序中的多條執行緒將共享該程序中的全部系統資源,如虛擬地址空間,檔案描述符和訊號處理等等。但同一程序中的多個執行緒有各自的呼叫棧(call stack),自己的暫存器環境(register context),自己的執行緒本地儲存(thread-local storage)。

一個程序可以有很多執行緒,每條執行緒並行執行不同的任務。

在多核或多CPU,或支援Hyper-threading的CPU上使用多執行緒程式設計的好處是顯而易見,即提高了程式的執行吞吐率。在單CPU單核的計算機上,使用多執行緒技術,也可以把程序中負責I/O處理、人機互動而常被阻塞的部分與密集計算的部分分開來執行,編寫專門的workhorse執行緒執行密集計算,從而提高了程式的執行效率。


Tags:執行緒