如果當(dāng)前線程以下方法的過程中佑颇,收到中斷信號雏吭,該線程是會感知到的牵触,這些方法就具備響應(yīng)中斷的能力淮悼。
java.lang.Object#wait()
java.lang.Thread#sleep()
java.lang.Thread#join()
java.util.concurrent.BlockingQueue#take
java.util.concurrent.BlockingQueue#put
java.util.concurrent.locks.Lock#lockInterruptibly
java.util.concurrent.CountDownLatch#await()
java.util.concurrent.CyclicBarrier#await()
java.util.concurrent.Exchanger#exchange(V)
java.nio.channels.InterruptibleChannel相關(guān)方法
java.nio.channels.Selector相關(guān)方法
如果通過以上的10個途徑讓線程進(jìn)入阻塞狀態(tài),如果想讓他離開阻塞狀態(tài)揽思,就可以使用interrupt來及時中斷線程袜腥。
使用interrupt中斷線程的好處:
被中斷線程自身擁有如何響應(yīng)中斷的權(quán)利,因為有些線程的代碼是很重要的钉汗,必須等待這些邏輯處理完后才能中斷羹令。interrupt給了當(dāng)前線程中斷的信號,至于具體怎么中斷自己還是當(dāng)前線程自己決定损痰。更加安全福侈,也完成了清理工作,保證數(shù)據(jù)的完整性卢未。