public boolean isInterrupted()
判斷線程中斷標誌位是否爲truepublic void interrupt()
設置線程中斷標誌位爲true,但對於線程不一樣的狀態,不必定能設置成功。public static boolean interrupted()
返回線程中斷標誌位,並清空。分幾種狀況:服務器
這種狀況下只設置中斷標誌位。多線程
當調用以下方法時進入等待狀態,包括的方法有:線程
WATING:調用了鎖資源的wait方法,或調用了join方法。code
TIMED_WAITING:wait(long timeout),sleep(long millis),join(long millis)。(wait與sleep的區別:是否釋放鎖)。對象
拋出InterruptedException異常而且線程中斷標誌位被清空,針對此通常通常是交由上級處理,若但願線程中斷,在catch裏面執行清理工做或重設線程標誌位。隊列
只設置標誌位。資源
不會有任何效果。同步
不是說調用了interrupt()方法,線程就終止了,須要線程實現者經過代碼實現,以下:it
while (!Thread.currentThread().isInterrupted()) { //清理邏輯 }