首頁  >  文章  >  Java  >  java線程有幾種狀態

java線程有幾種狀態

(*-*)浩
(*-*)浩原創
2019-12-26 14:30:373612瀏覽

java線程有幾種狀態

執行緒是一個動態執行的過程,它有一個從產生到死亡的過程,共五種狀態:

新建(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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn