(1)線程的生命周期共有六種狀態
1)NEW:new一個線程。
2)RUNNABLE:執行start方法進入可運行狀態,等待分配時間片。
3)BLOCKED:阻塞狀態(例如:同步鎖被其他線程持有)
4)WAITING:等待狀態(例如:執行wait/slee/join/...之后)
5)TIMED_WAITING:超時等待(例如:執行wait(2000)/sleep(2000)/join(2000)/...之后)
6)TERMINATED:線程執行結束
(2)下面是jdk8中Thread類中源碼的部分內容:
public static enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; private State() { } }
(3)六種狀態的轉換圖