天天看點

Java線程:線程中斷

  interrupt方法可以用來請求終止線程。

  當對一個線程調用interrupt方法時,線程的中斷狀态被置位。這時每個線程都有boolean标志。每個線程都應該不時的檢查這個标志,以判斷線程是否被中斷。

  要想弄清楚中斷狀态是否被置位,首先調用靜态的Thread.currentThread方法獲得目前線程,然後調用isInterrupted方法:

  當在一個被堵塞的線程(調用sleep或wait)上調用interrupt方法時,堵塞調用将會被Interrupted Exception 異常中斷。

注意:

  1 一個被中斷的線程不一定被終止。中斷一個線程隻不過是引起它的注意。被中斷的線程可以決定如何響應中斷。

  2 有兩個類似的中斷線程的方法interrupted和isInterrupted。Interrupted是一個靜态方法,它檢測目前的線程是否被中斷,而且會清除該線程的中斷狀态。而isInterrupted可用來檢驗是否有線程被中斷,并且不會改變中斷狀态。

當神已無能為力,那便是魔渡衆生