執行緒的生命週期與死鎖
阿新 • • 發佈:2021-11-06
執行緒的生命週期與死鎖
執行緒的生命週期與死鎖
執行緒的生命週期
- 執行緒從 產生 到 死亡 的過程
- 一個執行緒在 任何時刻 都處於某種執行緒狀態(thread state)
執行緒的生命週期狀態圖
作業系統中的圖
生命週期
執行緒的幾種基本狀態
1, 誕生狀態
執行緒剛剛被串講
2, 就緒狀態
執行緒的 start 方法, 已被執行
執行緒已準備好執行
3, 執行狀態
處理機分配給了執行緒, 執行緒正在執行
4, 阻塞狀態(Blocked)
線上程發出 輸入/輸出 請求 且 必須等待其返回
遇到用 synchronized 標記的方法 而未獲得鎖
為等候一個條件變數, 執行緒呼叫 wait()方法
5, 休眠狀態
執行sleep方法而進入休眠
6, 死亡狀態
執行緒已完成或退出
死鎖問題
死鎖
執行緒在執行過程中, 其中 某個步驟往往需要滿足一些條件才能繼續進行,
如果這個條件不能滿足, 執行緒將會在 這個步驟上 出現阻塞