線程從創建到死亡的五種狀態


線程一共有五種狀態:新建、就緒、運行、阻塞、死亡。

1、新建狀態:當我們使用關鍵字new出一個線程來時,線程此時還沒有運行,也沒有就緒,只是單單的新建狀態。

2、就緒狀態:當程序運行到了線程中的start()方法時,此時的線程進入了就緒狀態,進入就緒狀態的線程不一定馬上運行而進入運行狀態(不一定馬上執行線程中的run()方法),需要等待CPU分配到時間片段。

3、運行狀態:當CPU分配時間片段給到線程后,程序會執行線程的run()方法,此時線程進入了運行狀態。

4、阻塞狀態:阻塞狀態是運行狀態中的線程沒有執行完run()方法里面的方法體而讓出CPU運行的時間片段。在運行中的線程可能由於某種原因使得線程進入阻塞狀態:比如線程里調用了slepp()方法而進入睡眠狀態,線程嘗試獲得鎖但鎖被其他線程占用或等待某個條件觸發等等。

5、死亡狀態:線程中的run()方法體正常執行完,線程正常死亡;發生了異常而未捕獲也會導致線程死亡。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM