多線程狀態

多線程狀態圖例

線程狀態詳解

  1. 新建狀態:線程對象建立之後就進入了新建狀態。
  2. 就緒狀態:線程調用start()方法後進入就緒狀態,等待CPU的執行權限
  3. 運行狀態:線程獲取CPU權限進行執行。須要注意的是,線程只能從就緒狀態進入到運行狀態。
  4. 阻塞狀態(Blocked) : 阻塞狀態是線程由於某種緣由放棄CPU使用權,暫時中止運行。直到線程進入就緒狀態,纔有機會轉到運行狀態。阻塞的狀況分三種: (01) 等待阻塞 -- 經過調用線程的wait()方法,讓線程等待某工做的完成。 (02) 同步阻塞 -- 線程在獲取synchronized同步鎖失敗(由於鎖被其它線程所佔用),它會進入同步阻塞狀態。 (03) 其餘阻塞 -- 經過調用線程的sleep()或join()或發出了I/O請求時,線程會進入到阻塞狀態。當sleep()狀態超時、join()等待線程終止或者超時、或者I/O處理完畢時,線程從新轉入就緒狀態。
  5. 死亡狀態:線程執行完了或者因異常退出了run()方法,該線程結束生命週期。
相關文章
相關標籤/搜索