1. 程式人生 > >java執行緒的五種狀態

java執行緒的五種狀態

java中,每個執行緒都需經歷新生、就緒、執行、阻塞和死亡五種狀態,執行緒從新生到死亡的狀態變化稱為生命週期。

用new運算子和Thread類或其子類建立一個執行緒物件後,該執行緒就處於新生狀態。
   新生--->就緒:通過呼叫start()方法
   就緒--->執行:處於就緒狀態的執行緒一旦得到CPU,就進入執行狀態並自動呼叫自己的run()方法
   執行--->阻塞:處於執行狀態的執行緒,執行sleep()方法,或等待I/O裝置資源,讓出CPU並暫時中止自己執行,進入阻塞狀態
   阻塞--->就緒:睡眠時間已到,或等待的I/O裝置空閒下來,執行緒便進入就緒狀態,重新到就緒佇列中等待CPU。當再次獲得CPU時,便從原來中止位置開始繼續執行。
   執行--->死亡:(1)(正常情況下)執行緒任務完成。(2)(非正常狀況)執行緒被強制性的中止,如通過執行stop()或destroy()方法來終止一個執行緒