如何停止中断运行中的线程?
首先,一个线程不应该由其他线程来强制中断或停止,而是应该由线程自己自行停止,自己来决定自己的命运,所以,Thread.stop,Thread.suspend,Thread.resume都已经被废弃了
volatile实现线程中断演示
通过修改共享变量的方式 来达到通知的目的 从而使目的线程中断
package com.kwfruit.thread.interruptdemo;
import com.kwfruit.thread.common.SleepUtil;
import java.util.concurrent.TimeUnit;
public class InterruptDemo {
static volatile boolean isStop = false;
public static void main(String[] args) {
new Thread(()->{
while (true){
if(isStop){
System.out.println(Thread.currentThread().getName()+"\t isStop被修改为true 程序停止");
break;
}
System.out.println("t1 --------hello volatile");
}
},"t1").start();
try {
TimeUnit.MICROSECONDS.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
new Thread(()->{
isStop = true;
},"t2").start();
}
}
标签:volatile,Thread,isStop,中断,线程,停止
From: https://www.cnblogs.com/mangoubiubiu/p/17977900