天天看點

Java線程的生命周期詳解

Thread的生命周期

線程的五種狀态:

  • 建立:當一個 Thread類或其子類的對象被聲明并建立時,新生的線程對象處于建立狀态
  • 就緒:處于建立狀态的線程被star()後,将進入線程隊列等待CPU時間片,此時它已具備了運作的條件,隻是沒配置設定到CPU資源
  • 運作:當就緒的線程被排程并獲得CPU資源時,便進入運作狀态,run()方法定義了線程的操作和功能
  • 阻塞:在某種特殊情況下,被人為挂起或執行輸入輸出操作時,讓出CP∪并臨時中止自己的執行,進入阻塞狀态
  • 死亡:線程完成了它的全部工作或線程被提前強制性地中止或出現異常導緻結束
Java線程的生命周期詳解

說明:

  1. 生命周期關注兩個概念:狀态、相應的方法
  2. 關注:狀态a-->狀态b:哪些方法執行了(回調方法) 某個方法主動調用:狀态a-->狀态b
  3. 阻塞:臨時狀态,不可以作為最終狀态
  4. 死亡:最終狀态。