當前位置:才華齋>計算機>java語言>

詳解java執行緒的生命週期

java語言 閱讀(6.91K)

與人有生老病死一樣,執行緒也同樣要經歷開始(等待)、執行、掛起和停止四種不同的狀態。下面本站小編主要介紹了java 執行緒的生命週期詳解的相關資料,有需要的朋友可以參考!想了解更多相關資訊請持續關注我們應屆畢業生考試網!

詳解java執行緒的生命週期

一個執行緒的生命週期:

新建狀態:

使用 new 關鍵字和 Thread 類或其子類建立一個執行緒物件後,該執行緒物件就處於新建狀態。它保持這個狀態直到程式 start() 這個執行緒。

就緒狀態:

當執行緒物件呼叫了start()方法之後,該執行緒就進入就緒狀態。就緒狀態的執行緒處於就緒佇列中,要等待JVM裡執行緒排程器的排程。

執行狀態:

如果就緒狀態的`執行緒獲取 CPU 資源,就可以執行 run(),此時執行緒便處於執行狀態。處於執行狀態的執行緒最為複雜,它可以變為阻塞狀態、就緒狀態和死亡狀態。

阻塞狀態:

如果一個執行緒執行了sleep(睡眠)、suspend(掛起)等方法,失去所佔用資源之後,該執行緒就從執行狀態進入阻塞狀態。在睡眠時間已到或獲得裝置資源後可以重新進入就緒狀態。

死亡狀態:

一個執行狀態的執行緒完成任務或者其他終止條件發生時,該執行緒就切換到終止狀態。