调用线程的interrupt()实例方法,线程的中断标志会被置为true
当线程处于阻塞状态时,调用线程的interrupt()实例方法,线程内部会触发InterruptedException异常,并且会清除线程内部的中断标志(即将中断标志置为false)
内部有循环体,可以通过一个变量来作为一个信号控制线程是否中断,注意变量需要volatile修饰
public static class T extends Thread{
@Override
public void run() {
while (true){
try {
TimeUnit.SECONDS.sleep(5);
} catch (InterruptedException e) {
e.printStackTrace();
this.interrupt();
}
if(this.isInterrupted()){
break;
}
}
}
}