在java Thread中,關於中斷有三個方法,常常搞混,如今簡單分析:java
類方法 ,經常使用於線程內部檢測當前線程是否 中斷,而且清除中斷標誌,也就是說 以下代碼,打印的是false。spa
if(Thread.interrupted()){ System.out.println(Thread.interrupted()); }
實例方法,用於在線程外線程 間調用,檢測其它線程是否處於中斷。線程
實例 方法,通常用於線程間調用 t.interrupt,也能夠在本線程調用 ,以下。it
Thread.currentThread().interrupt();
而在使用過程當中,有些方法會自動拋出 中斷異常,如sleep,await 等,而對於 方法內部本身拋出的異常,須要主動的catch或者繼續拋出該異常。方法