- 相關(guān)推薦
詳解java線程的生命周期
與人有生老病死一樣,線程也同樣要經(jīng)歷開始(等待)、運(yùn)行、掛起和停止四種不同的狀態(tài)。下面百分網(wǎng)小編主要介紹了java 線程的生命周期詳解的相關(guān)資料,有需要的朋友可以參考!想了解更多相關(guān)信息請持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
一個線程的生命周期:
新建狀態(tài):
使用 new 關(guān)鍵字和 Thread 類或其子類建立一個線程對象后,該線程對象就處于新建狀態(tài)。它保持這個狀態(tài)直到程序 start() 這個線程。
就緒狀態(tài):
當(dāng)線程對象調(diào)用了start()方法之后,該線程就進(jìn)入就緒狀態(tài)。就緒狀態(tài)的線程處于就緒隊(duì)列中,要等待JVM里線程調(diào)度器的調(diào)度。
運(yùn)行狀態(tài):
如果就緒狀態(tài)的線程獲取 CPU 資源,就可以執(zhí)行 run(),此時線程便處于運(yùn)行狀態(tài)。處于運(yùn)行狀態(tài)的線程最為復(fù)雜,它可以變?yōu)樽枞麪顟B(tài)、就緒狀態(tài)和死亡狀態(tài)。
阻塞狀態(tài):
如果一個線程執(zhí)行了sleep(睡眠)、suspend(掛起)等方法,失去所占用資源之后,該線程就從運(yùn)行狀態(tài)進(jìn)入阻塞狀態(tài)。在睡眠時間已到或獲得設(shè)備資源后可以重新進(jìn)入就緒狀態(tài)。
死亡狀態(tài):
一個運(yùn)行狀態(tài)的線程完成任務(wù)或者其他終止條件發(fā)生時,該線程就切換到終止?fàn)顟B(tài)。
【詳解java線程的生命周期】相關(guān)文章:
java線程的生命周期10-24
Java的線程的生命周期簡述08-10
java Runnable接口創(chuàng)建線程詳解10-30
Java 多線程之synchronized關(guān)鍵字詳解10-04
java的多線程09-09
java多線程08-31
Java多線程的線程守護(hù)例子06-08
Solaris線程模型詳解10-01
Java線程知識筆記09-17