1. 程式人生 > >java 多執行緒 執行緒的生命週期

java 多執行緒 執行緒的生命週期

執行緒的生命週期主要分為下面5個狀態:

  • 1新建   new Thread

       當建立Thread類的一個例項(物件),繼承Thread類,實現Runnable介面,呼叫Callable介面,此執行緒進入新建狀態(未被啟動)

  • 2就緒 runnable

   執行緒已被啟動,執行緒物件建立好之後進入就緒狀態,此時會等待獲取CPU的執行權

  • 3執行 running

獲取到CPU執行權之後,執行緒物件開始執行run()方法

  • 4阻塞 blocked

如果執行緒物件在執行過程中遇到了wait方法或者sleep方法,或者被另一個執行緒所阻塞(suspend方法,resume方法恢復),執行緒將會進入到阻塞狀態。執行緒阻塞後要等待其他條件來觸發(notify或者sleep睡眠時間到了),觸發後會繼續執行

  • 5死亡 dead

執行緒物件執行結束後或被其它執行緒殺死(stop方法),執行緒就進入死亡狀態

執行緒的生命週期畫圖如下: