1. 新建
使用new關(guān)鍵字創(chuàng)建了一個線程對象圈澈,初始化了其成員變量
2. 就緒
調(diào)用start()方法咱揍,但此時jvm還未調(diào)用它节预。
3. 運行
jvm調(diào)用了線程,開始執(zhí)行run()方法狈究。
4. 阻塞
使用了某些方法使線程進入了阻塞狀態(tài)
- 線程調(diào)用sleep()
- 線程中使用了wait()方法碗淌,或者await()方法,等待其他線程喚醒
- 調(diào)用了阻塞式io方法
- 試圖獲得一個同步監(jiān)視器抖锥,但被其他線程占用
5. 死亡
有兩種情況亿眠,一個線程的run方法執(zhí)行完畢,另一個是線程執(zhí)行期間拋出了未捕獲的異常