当我们使用上面的中断机制时候我们必须明确下面几点内容:
1,每个线程都有一个boolean类型的中断状态.当中断线程时,这个线程的中断状态将被设置为true.
2,interrupt方法能够中断目标线程,而isInterrupted方法能返回目标线程的中断状态.静态的interrupted方法将清除当前线程的中断状态,并返回它之前的值,这也是清除中断状态的唯一方法.
3,响应中断执行的操作: 清除中断状态, 抛出InterruptedException,表示阻塞操作由于中断提前结束.JVM并不能保证阻塞方法检测到中断的速度,但在实际情况中响应速度还是非常快的.
4,调用interrupt并不意味着立即停止目标线程正在进行的工作,而只是传递了请求中断的消息.
5,一般而言,中断是实现取消的最合理方式 |
|