public boolean isInterrupted()
判断线程中断标志位是否为truepublic void interrupt()
设置线程中断标志位为true,但对于线程不一样的状态,不必定能设置成功。public static boolean interrupted()
返回线程中断标志位,并清空。分几种状况:服务器
这种状况下只设置中断标志位。多线程
当调用以下方法时进入等待状态,包括的方法有:线程
WATING:调用了锁资源的wait方法,或调用了join方法。code
TIMED_WAITING:wait(long timeout),sleep(long millis),join(long millis)。(wait与sleep的区别:是否释放锁)。对象
抛出InterruptedException异常而且线程中断标志位被清空,针对此通常通常是交由上级处理,若但愿线程中断,在catch里面执行清理工做或重设线程标志位。队列
只设置标志位。资源
不会有任何效果。同步
不是说调用了interrupt()方法,线程就终止了,须要线程实现者经过代码实现,以下:it
while (!Thread.currentThread().isInterrupted()) { //清理逻辑 }