1. 程式人生 > 實用技巧 >Java-執行緒狀態

Java-執行緒狀態

僅為學習記錄,僅供參考。


Java-執行緒狀態

在Thread類中有一個內部enum,叫做State:

public static enum Thread.State extends Enum<Thread.State>

Thread.State裡面定義了6個常量表示執行緒的6種狀態:

  1. NEW:尚未啟動的執行緒處於此狀態
  2. RUNNABLE:在Java虛擬機器中執行的執行緒處於此狀態
  3. BLOCKED:被阻塞等待監視器鎖定的執行緒處於此狀態
  4. WAITING:正在等待另一個執行緒執行特定動作的執行緒處於此狀態
  5. TIMED_WATING:正在等待另一個執行緒執行動作達到指定等待時間的執行緒處於此狀態
  6. TERMINATED:已退出的執行緒處於此狀態

要注意的是:

  1. 一個執行緒在給定的時間點上只能處於一種狀態。
  2. 這些狀態都是執行緒的虛擬機器狀態,並不反應所有作業系統的執行緒狀態。

這些狀態之間的轉換關係如下圖所示:
在這裡插入圖片描述

2020年10月19日22:35:22


僅為學習記錄,僅供參考。