java的執行緒生命週期

2021-07-31 06:37:31 字數 350 閱讀 8727

定義了乙個列舉型別,thread.state,主要是來闡述乙個執行緒在生命週期的各個階段的狀態。

new:執行緒被例項化,但並未.start();

runnable:執行緒正在執行;

blocked:執行緒中止執行,因為在等待獲得乙個鎖,以便進入宣告為synchronized的方法或者**塊;

wating:執行緒中止執行,因為他呼叫了object.wait()或者thread.join();

timed_wating:執行緒中止執行,呼叫了thread.sleep()方法或者呼叫了obiect.wait(),並且傳入了時間。

terminated:執行緒執行完run方法中的**,或者丟擲了異常。

Java執行緒的生命週期

具體的狀態如下所示 以上有如下幾個方法 suspend 暫時掛起執行緒。resume 恢復掛起的執行緒。stop 停止執行緒。因為以上的三個方法都會產生死鎖的問題,所以現在已經不建議使用了。如果現在假設要想停止乙個執行緒的執行如何去做呢?通過設定標誌位,讓執行緒停止執行。class mythread...

java執行緒的生命週期

新建狀態 當使用關鍵字new建立乙個執行緒物件的時候,該執行緒就處於新建狀態,跟其他物件一樣,讓jvm為其分配記憶體,初始化變數。沒有任何的執行緒特徵,不會執行執行緒體。就緒狀態 當執行緒物件呼叫start方法的時候,該執行緒就處於就緒狀態了。jvm會為其建立方法呼叫棧和程式計算器,但不會立刻執行r...

JAVA 多執行緒 生命週期

1 新建 當乙個執行緒ticktthread1 thread1 new ticktthread1 視窗1 ticket 被new 出來的時候。執行緒就是乙個新建的狀態。2 就緒狀態 當呼叫了start 方法之後。進入就緒狀態。就緒狀態是什麼狀態 某乙個時刻cpu 只能處理乙個執行緒的事物。把時間片分...