首頁  >  文章  >  Java  >  java線程狀態有哪些

java線程狀態有哪些

coldplay.xixi
coldplay.xixi原創
2020-12-15 15:10:0415449瀏覽

java執行緒狀態:1、新狀態New;2、就緒狀態Runnable;3、運作狀態Running;4、阻塞狀態Blocked;5、死亡狀態Dead。

java線程狀態有哪些

本文操作環境:windows7系統、Dell G3電腦、Java8.0版。

java執行緒狀態:

1. 新狀態(New): 執行緒物件被建立後,就進入了新建狀態。

例如,Thread thread = new Thread()

2. 就緒狀態(Runnable): 也稱為「可執行狀態」。線程物件被創建後,其它線程調用了該物件的start()方法,從而來啟動該線程。例如,thread.start()。處於就緒狀態的線程,隨時可能被CPU調度執行。

3. 運行狀態(Running): 執行緒取得CPU權限進行執行。需要注意的是,執行緒只能從就緒狀態進入到運行狀態。

4. 阻塞狀態(Blocked): 阻塞狀態是執行緒因為某些原因放棄CPU使用權,暫時停止運作。直到執行緒進入就緒狀態,才有機會轉到運行狀態。阻塞的情況分為三種:

  • (01) 等待阻塞 -- 透過呼叫執行緒的wait()方法,讓執行緒等待某項工作的完成。

  • (02) 同步阻塞 -- 執行緒在取得synchronized同步鎖定失敗(因為鎖被其它執行緒所佔用),它會進入同步阻塞狀態。

  • (03) 其他阻塞 -- 透過呼叫執行緒的sleep()或join()或發出了I/O請求時,執行緒會進入到阻塞狀態。當sleep()狀態逾時、join()等待執行緒終止或逾時、或I/O處理完畢時,執行緒重新轉入就緒狀態。

5. 死亡狀態(Dead): 執行緒執行完了或因異常退出了run()方法,該執行緒結束生命週期。

相關免費學習推薦:java基礎教學

以上是java線程狀態有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn