1. 程式人生 > 其它 >執行緒的生命週期與死鎖

執行緒的生命週期與死鎖

執行緒的生命週期與死鎖

執行緒的生命週期與死鎖

執行緒的生命週期

  • 執行緒從 產生 到 死亡 的過程
  • 一個執行緒在 任何時刻 都處於某種執行緒狀態(thread state)

執行緒的生命週期狀態圖

作業系統中的圖

生命週期

執行緒的幾種基本狀態

1, 誕生狀態

​ 執行緒剛剛被串講

2, 就緒狀態

​ 執行緒的 start 方法, 已被執行

​ 執行緒已準備好執行

3, 執行狀態

​ 處理機分配給了執行緒, 執行緒正在執行

4, 阻塞狀態(Blocked)

​ 線上程發出 輸入/輸出 請求 且 必須等待其返回

​ 遇到用 synchronized 標記的方法 而未獲得鎖

​ 為等候一個條件變數, 執行緒呼叫 wait()方法

5, 休眠狀態

​ 執行sleep方法而進入休眠

6, 死亡狀態

​ 執行緒已完成或退出

死鎖問題

死鎖

執行緒在執行過程中, 其中 某個步驟往往需要滿足一些條件才能繼續進行,

如果這個條件不能滿足, 執行緒將會在 這個步驟上 出現阻塞