5-8响应中断的方法

如果当前线程以下方法的过程中,收到中断信号,该线程是会感知到的,这些方法就具备响应中断的能力。
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相关方法
java.nio.channels.Selector相关方法

如果通过以上的10个途径让线程进入阻塞状态,如果想让他离开阻塞状态,就可以使用interrupt来及时中断线程。

使用interrupt中断线程的好处:
被中断线程自身拥有如何响应中断的权利,因为有些线程的代码是很重要的,必须等待这些逻辑处理完后才能中断。interrupt给了当前线程中断的信号,至于具体怎么中断自己还是当前线程自己决定。更加安全,也完成了清理工作,保证数据的完整性。

你可能感兴趣的:(5-8响应中断的方法)