Java多線程編程核心(1)

Java多線程編程核心(1)

中止線程

本節主要討論如何更好中止一個線程。中止線程意味着在線程處理完成任務以前放棄當前操做。java

1.停不了的線程
可能大多數同窗會使用interrupt()來中止線程,可是此方法並不能真的中止線程,僅僅是在當年線程中打了一箇中止標記。

2.判斷線程是不是中止狀態
a)this.interrupted():測試當前線程是否已經中斷,執行後具備將狀態標誌設置爲false,即第二次調用此方法時,返回false.
b)this。isInterrupted():測試線程是否已經中斷,不清楚狀態標記。

3.異常法中止線程
建議使用此類方法,能夠將線程中止的異常往上拋,使線程中止的事件獲得傳播

4.在沉睡中中止線程
sleep()+interrupt()

5.暴力中止線程
使用stop()中止。stop()方法在jdk6.0以後的版本已經做廢。由於強制中止線程,有可能使一些請理性工做沒法完成,再者對鎖定的對象進行了解鎖,致使數據不能進行同步處理,出現數據不一致。不建議使用。
6.return中止線程
interrupt() + return
相關文章
相關標籤/搜索