執行緒的五大狀態及其轉換:
執行緒的五大狀態分別為:建立狀態(New)、就緒狀態(Runnable)、運作狀態(Running) 、阻塞狀態(Blocked)、死亡狀態(Dead)。
下面畫出線程五大狀態之間的關係圖:
(1)新狀態:即單純地建立一個線程,建立線程有三種方式,在我的部落格:線程的創建,可以自行查看!
(2)就緒狀態:在創建了線程之後,呼叫Thread類別的start()方法來啟動一個線程,即表示線程進入就緒狀態!
(3)運行狀態:當執行緒取得CPU時間,執行緒才從就緒狀態進入到運行狀態!
(4)阻塞狀態:線程進入運行狀態後,可能由於多種原因讓線程進入阻塞狀態,如:調用sleep()方法讓線程睡眠,調用wait()方法讓線程等待,調用join()方法、suspend()方法(它現已被棄用!)以及阻塞式IO方法。
(5)死亡狀態:run()方法的正常退出就讓執行緒進入到死亡狀態,還有當一個異常未被捕獲而終止了run()方法的執行也將進入到死亡狀態!
更多java知識請關注java基礎教學欄。
以上是java線程幾種狀態介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!