執行緒的幾種狀態總結

2021-10-09 19:41:17 字數 919 閱讀 1253

a)繼承thread類

b)實現runnable介面

c)實現callable介面

d)執行緒池

執行緒共包括以下 5 種狀態:

1. 新建狀態(new):執行緒物件被建立後,就進入了新建狀態。例如,thread thread = new thread()。

2. 就緒狀態(runnable):也被稱為「可執行狀態」。執行緒物件被建立後,其它執行緒呼叫了該物件的start()方法,從而來啟動該執行緒。例如,thread.start()。處於就緒狀態的執行緒,隨時可能被cpu排程執行。

3. 執行狀態(running):執行緒獲取cpu許可權進行執行。需要注意的是,執行緒只能從就緒狀態進入到執行狀態。

4. 阻塞狀態(blocked):阻塞狀態是執行緒因為某種原因放棄cpu使用權,暫時停止執行。直到執行緒進入就緒狀態,才有機會轉到執行狀態。阻塞的情況分三種:

5. 死亡狀態(dead):執行緒執行完了或者因異常退出了run()方法,該執行緒結束生命週期。

:sleep和wait區分:

sleep是thread的方法,wait是object的方法

sleep不會釋放鎖,wait會釋放鎖

t.join() 表示執行緒t執行完了在執行下面的

yield 關鍵字解析

yield()應該做的是讓當前執行執行緒回到可執行狀態,以允許具有相同優先順序的其他執行緒獲得執行機會。

執行緒的幾種狀態

這個是面試經常被問到的問題,多執行緒的話首先要對執行緒的狀態有個清晰的認識才可以 這裡做個簡單的總結 1.新建狀態 new 新建立乙個執行緒物件的初始狀態 也就是通過new關鍵字建立乙個執行緒物件,但並沒有呼叫start方法時候的狀態 thread t new thread tt 2.就緒狀態 ru...

執行緒的幾種狀態

執行緒的幾種狀態及狀態之間的轉化 新建狀態 建立乙個新的執行緒 此時執行緒未啟動 就緒狀態 乙個新建的執行緒並不會自動開始執行,要執行執行緒,必須呼叫執行緒的start 方法,當執行緒物件呼叫start 方法啟動了執行緒,start 方法建立執行緒執行的系統資源,並排程執行緒執行run 方法,當st...

執行緒 執行緒的幾種狀態轉換。

執行緒在一定條件下,狀態會發生變化。執行緒一共有以下幾種狀態。1.新建狀態 new 新建立了乙個執行緒物件。2.就緒狀態 runnable 執行緒物件建立後,在其他地方呼叫了該執行緒的start 方法,該執行緒準備好所有執行前的資源,然後位於可執行執行緒池中,變得可執行,等待cpu的執行權。3.執行...