在java Thread中,关于中断有三个方法,常常搞混,如今简单分析:java
类方法 ,经常使用于线程内部检测当前线程是否 中断,而且清除中断标志,也就是说 以下代码,打印的是false。spa
if(Thread.interrupted()){ System.out.println(Thread.interrupted()); }
实例方法,用于在线程外线程 间调用,检测其它线程是否处于中断。线程
实例 方法,通常用于线程间调用 t.interrupt,也能够在本线程调用 ,以下。it
Thread.currentThread().interrupt();
而在使用过程当中,有些方法会自动抛出 中断异常,如sleep,await 等,而对于 方法内部本身抛出的异常,须要主动的catch或者继续抛出该异常。方法