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

詳解java線程的生命週期

java語言 閲讀(6.91K)

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

詳解java線程的生命週期

一個線程的生命週期:

新建狀態:

使用 new 關鍵字和 Thread 類或其子類建立一個線程對象後,該線程對象就處於新建狀態。它保持這個狀態直到程序 start() 這個線程。

就緒狀態:

當線程對象調用了start()方法之後,該線程就進入就緒狀態。就緒狀態的線程處於就緒隊列中,要等待JVM裏線程調度器的調度。

運行狀態:

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

阻塞狀態:

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

死亡狀態:

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