具體的狀態如下所示:
以上有如下幾個方法:
suspend(): 暫時掛起執行緒。
resume() :恢復掛起的執行緒。
stop() : 停止執行緒。
因為以上的三個方法都會產生死鎖的問題,所以現在已經不建議使用了。
如果現在假設要想停止乙個執行緒的執行如何去做呢?
通過設定標誌位,讓執行緒停止執行。
class mythread implements runnable
} public void stop()
};public class stopdemocatch(exception e)
my.stop() ; // 修改標誌位,停止執行
}};
總結:
1、了解執行緒的生命週期
2、了解執行緒的停止執行
java的執行緒生命週期
定義了乙個列舉型別,thread.state,主要是來闡述乙個執行緒在生命週期的各個階段的狀態。new 執行緒被例項化,但並未.start runnable 執行緒正在執行 blocked 執行緒中止執行,因為在等待獲得乙個鎖,以便進入宣告為synchronized的方法或者 塊 wating 執行...
java執行緒的生命週期
新建狀態 當使用關鍵字new建立乙個執行緒物件的時候,該執行緒就處於新建狀態,跟其他物件一樣,讓jvm為其分配記憶體,初始化變數。沒有任何的執行緒特徵,不會執行執行緒體。就緒狀態 當執行緒物件呼叫start方法的時候,該執行緒就處於就緒狀態了。jvm會為其建立方法呼叫棧和程式計算器,但不會立刻執行r...
JAVA 多執行緒 生命週期
1 新建 當乙個執行緒ticktthread1 thread1 new ticktthread1 視窗1 ticket 被new 出來的時候。執行緒就是乙個新建的狀態。2 就緒狀態 當呼叫了start 方法之後。進入就緒狀態。就緒狀態是什麼狀態 某乙個時刻cpu 只能處理乙個執行緒的事物。把時間片分...