《吸血鬼倖存者》速刷金蛋配置參考
阿新 • • 發佈:2022-06-01
執行緒的狀態
執行緒的狀態:也就是執行緒從生到死的過程,以及中間經歷的各種狀態及狀態轉換。
理解執行緒的狀態有利於提升併發程式設計的理解能力。
Java執行緒的狀態
Java總共定義了6種狀態
6種狀態都定義在Thread類的內部列舉類中。
public class Thread{ ... public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; } ... }
執行緒的6種狀態總結
NEW(新建)
執行緒剛被建立,但是並未啟動。
Runnable(可執行)
執行緒已經呼叫了start()等待CPU排程
Blocked(鎖阻塞)
執行緒在執行的時候未競爭到鎖物件,則該執行緒進入Blocked狀態;。
Waiting(無限等待)
一個執行緒進入Waiting狀態,另一個執行緒呼叫notify或者notifyAll方法才能夠喚醒
Timed Waiting(計時等待)
同waiting狀態,有幾個方法有超時引數,呼叫他們將進入Timed Waiting狀態。帶有超時引數的常用方法有Thread.sleep 、Object.wait。
Teminated(被終止)
因為run方法正常退出而死亡,或者因為沒有捕獲的異常終止了run方法而死亡。
新建狀態( NEW ) 建立執行緒物件
就緒狀態( RUNNABLE ) start方法
阻塞狀態( BLOCKED ) 無法獲得鎖物件
等待狀態( WAITING ) wait方法
計時等待( TIMED_WAITING ) sleep方法
結束狀態( TERMINATED ) 全部程式碼執行完畢