執行緒的執行狀態

2021-10-13 07:27:17 字數 757 閱讀 6229

1,建立:

當建立好執行緒物件的時候,也就是new thread類或者是new thread子類的時候。此時稱為建立狀態

2,就緒:

當執行緒物件呼叫了start()方法,開啟執行緒了的時候,此時的執行緒已經開啟了,隨時可能會被cpu執行,因為cpu一此只能執行乙個執行緒,當其他執行緒已經開起了,但還沒有被cpu執行的時候,就稱為就緒狀態。

3,執行:

此時的cpu正在執行該執行緒,此時就稱為執行狀態。(執行的時候可能會發生意外,如斷網,卡主了,cpu切換了執行權,睡眠等等,然而任務並沒有執行完,此時的執行緒就會進入乙個阻塞的狀態)

4,阻塞:

執行緒在執行過程中發生了意外,或者是睡眠了等等,且任務還沒有執行完畢,此時就稱為阻塞狀態。此時就失去了cpu的執行權,在此期間cpu不再去執行該執行緒,當睡眠結束,或者被喚醒了以後,就會又重新獲得了cpu的執行權,但cpu不是一定立馬就去執行它的,也有可能會立馬執行(因為cpu的執行順序是隨機的)此時就重新回到了就緒狀態,準備隨時被cpu執行

5,結束(銷毀):

當該執行緒的任務執行完畢以後,該執行緒就會自動銷毀。

執行緒的執行狀態圖:

執行緒的執行狀態

執行緒從建立 執行到結束總是處於5種狀態之一 分別是新建狀態,就緒狀態,執行狀態,阻塞狀態,死亡狀態。這5種狀態之間的轉換流程如圖 新建狀態 當成功建立乙個執行緒,但是還未呼叫start方法之前的狀態,例如 thread thread new thread new runnable catch in...

執行緒的幾種可執行狀態

1.新建 new 新建立了乙個執行緒物件。2.可執行 runnable 執行緒被建立後,其他 執行緒 比如main執行緒 呼叫了該物件的的start 方法,該狀態的執行緒處於可執行的執行緒池中,等待被執行緒排程使用,獲取cpu的使用權 3.執行 running 可執行執行緒獲得了cpu時間片,執行程...

mysql 執行狀態

show processlist 或使用mysql administrator 檢視當前執行connection的狀態 state列出的狀態主要有以下幾種 checking table 正在檢查資料表 這是自動的 closing tables 正在將表中修改的資料重新整理到磁碟中,同時正在關閉已經用...