執行緒狀態有:1、新建狀態:執行緒物件被建立後,就進入了新建狀態。例如,Thread thread=new Thread();2、就緒狀態:也稱為「可執行狀態」;3、運行狀態:執行緒取得CPU權限執行;4、阻塞狀態:執行緒因為某些原因放棄CPU使用權,暫時停止運作;5、等待狀態:需要等待其他執行緒做出一些特定動作;6、超時等待狀態:可以在指定的時間自行返回;7、終止狀態等等。
本教學作業系統:windows10系統、Dell G3電腦。
Java執行緒狀態主要有以下幾種:
1、新狀態(New):執行緒物件被建立後,就進入了新建狀態。例如,Thread thread = new Thread()。
2、就緒狀態(Runnable):也稱為「可執行狀態」。線程物件被創建後,其它線程調用了該物件的start()方法,從而來啟動該線程。例如,thread.start()。處於就緒狀態的線程,隨時可能被CPU調度執行。
3、運作狀態(Running):執行緒取得CPU權限進行執行。需要注意的是,執行緒只能從就緒狀態進入到運行狀態。
4、阻塞狀態(Blocked):阻塞狀態是執行緒因為某些原因放棄CPU使用權,暫時停止運作。直到執行緒進入就緒狀態,才有機會轉到運行狀態。阻塞狀態可以分為以下幾種:
a) 同步阻塞:執行的執行緒在取得物件的同步鎖定時,該同步鎖定被其他的執行緒佔用,則JVM會將該執行緒放入鎖定池中。
b) 等待阻塞:執行的執行緒執行wait()方法,JVM會將該執行緒放入等待池中。
c) 其他阻塞:執行的執行緒執行sleep()方法或join()方法、或發出了I/O請求,JVM會把該執行緒置於阻塞狀態。
5. 等待狀態(Waiting):進入該狀態的執行緒需要等待其他執行緒做出一些特定動作(通知或中斷)。
6. 逾時等待狀態(Timed_Waiting):此狀態不同於Waiting,它可以在指定的時間自行回傳。
7. 終止狀態(Terminated):表示該執行緒已經執行完畢,系統裡面的執行緒已經執行完畢,銷毀了,但是Thread物件還在。 System.out.println(t.getState()); } }
以上就是Java中的幾個執行緒狀態,需要注意的是,一個執行緒在其生命週期中可能會經歷這些狀態,這些狀態也構成了執行緒的生命週期。同時,各種狀態的轉換規則也相當重要,理解這些規則對於編寫正確且有效率的Java多執行緒程式非常重要。
以上是Java中線程狀態有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!