线程可以通过检查自身是否被中断来进行响应
interrupt
:通过此方法可以对线程进行中断操作isInterrupted
:来判断线程是否被中断- 如果线程已结束,即使有过中断操作,调用这个
isInterrupted
也会返回false - 声明
InterruptedException
异常的方法(例如 Thread.sleep()方法),在抛出异常之前,JVM会先清除该线程的中断标识位,此时调用此isInterrupted
也是返回false
- 如果线程已结束,即使有过中断操作,调用这个
interrputed
:对中断线程进行复位
线程还可以通过设置一个volatile
变量来作为中断表示,来判断是否需要停止任务
public class Runner implements Runnable {
private long i;
//使用标识位
private volatile boolean on = true;
@Override
public<