interrupt
interrupt() 方法: 给线程设置一个中断标志,线程仍会继续运行。哪个线程调用了这个方法,就给哪个线程设置一个中断标记位。
interrupted() 方法: 返回线程的中断标记位,(true 或者是 false), 并清除中断标记位,将中断标记位设置为false;
isInterrupted() 方法: 返回线程的中断标记位,不会清除中断状态。
看到了吗!!! 三个方法都是围绕着中断标记位展开的!!!! 根本就没有真正中断线程,而是线程通过判断自己的中断标志位来进行后续的操作。完全由程序自己来进行控制的。比如,很多时候会看到,检测到线程的中断标记位为true,就会抛出异常!!!
参考文档:
也许会有遗憾,但是不应该在失败之前
浙公网安备 33010602011771号