- 實例說明
線程共有六個狀態,即新建、運行(可運行)、阻塞、等待、計時等待和終止。當使用new操作符創建新線程時,線程處於“新建狀態”。當調用start方法時,線程處於運行(可運行)狀態。當線程需要獲得對象的內置鎖,而該鎖正被別的線程擁有時,線程處於阻塞狀態。當線程等待其他線程通知調度表可以運行時,該線程處於等待狀態。對於一些含有時間參數的方法,如thread的sleep()方法,可以使線程處於計時等待狀態。當run方法運行完畢或出現異常時,線程處於終止狀態。
- 關鍵技術
使用Thread類的getState()方法可以獲得線程的狀態,該方法的返回值是Thread.state,他是線程狀態的枚舉。枚舉常量表如下:
枚舉常量 | 含義 | 枚舉常量 | 含義 |
NEW | 新建狀態 | TIMED_WAITING | 休眠狀態 |
RUNNABLE | 運行(可運行)狀態 | WAITING | 等待狀態 |
BLOCKED | 阻塞狀態 | TERMINATED | 終止狀態 |