執行緒是一個動態執行的過程,它有一個從產生到死亡的過程,共五種狀態:
新建(new Thread) 中(「未建立」設定位置時#2#102113131322#2#102) 的物件(Thread)啟動程式設定時,一個物件(Thread) ##就緒(runnable)
線程已經被啟動,正在等待被指派給CPU時間片,也就是說此時執行緒正在就緒佇列中排隊等候得到CPU資源。例如:t1.start();執行(running)
#執行緒取得CPU資源正在執行任務(run()方法),此時除非此執行緒自動放棄CPU資源或有優先順序較高的執行緒進入,執行緒將一直運行到結束。死亡(dead)
當線程執行完畢或被其它線程殺死,線程就進入死亡狀態,這時線程不可能再進入就緒狀態等待執行。自然終止:正常運行run()方法後終止
異常終止:呼叫stop()方法讓一個執行緒終止運行##阻塞(blocked)因為某些原因導致正在執行的執行緒讓出CPU並暫停自己的執行,即進入堵塞狀態。
正在睡眠:用sleep(long t) 方法可讓執行緒進入睡眠方式。一個睡眠著的線程在指定的時間過去可進入就緒狀態。 正在等待:呼叫wait()方法。 (呼叫motify()方法回到就緒狀態)
被另一個執行緒所阻塞:呼叫suspend()方法。 (呼叫resume()方法恢復)。
以上是java線程有幾種狀態的詳細內容。更多資訊請關注PHP中文網其他相關文章!