Java中線程的狀態變化

Java中的線程有三種狀態:Runnable,Block,Dead。

Runnable:通過new操作,yield操作,wakeup操作, nofify操作,或IO操作。
Block: 通過start操作,sleep操作,wait操作,或請求IO操作。
Dead:執行完畢,stop操作。

Java中終止一個線程:
在Java中要終止一個線程可以使用stop()方法,但是,stop()是不安全的,我們要終止一個線程要使用其他的方法,即使用Flag+Interrupt方式(如果線程中沒有調用wait()方法則無需Interrupt操作),具體爲:

1.在線程類中定義一個isStop,初始值爲false;
2.在線程類中定義一個方法stopThread(),在該方法中將isStop設爲true;
3.在線程的Run方法中對isStop進行判斷,若isStop爲true則退出線程;
4.若線程調用了wait()方法,則在wait的異常捕獲中定義InnterruptedException類型的異常對象,在異常處理中強制退出線程;
5.在想終止線程的地方調用線程的stopThread方法,如果線程調用了wait操作,還要調用線程的interrupt()方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章