interrupt

Java线程的interrupt方法本质上是在线程对象上打了一个标记。实际上如果线程本身愿意的话,是可以忽略这个标记的。但是如果线程是处于阻塞状态,那么这个标记会使线程从阻塞状态中退出,并抛出一个InterruptedException异常。这个异常是一个检查异常,所以在调用interrupt方法的时候,要么捕获这个异常,要么抛出这个异常。这个异常的抛出会清除掉线程的中断标记。

利用interrupt可以实现一个可以终止的异步线程管理。