thread stop() 方法为啥过期
程序员文章站
2022-04-01 15:48:03
...
stop方法是不安全的。 停止线程会使它解锁它已锁定的所有监视器。
建议的结束线程的两种方式:
1.通过标识控制线程是否运行;
public class ThreadSafe extends Thread {
public volatile boolean exit = false;
public void run() {
while (!exit){
//do something
}
}
}
2.使用interrupt()方法中断当前线程
public class ThreadSafe extends Thread {
public void run() {
while (true){
try{
Thread.sleep(5*1000);//阻塞5妙
}catch(InterruptedException e){
e.printStackTrace();
break;//捕获到异常之后,执行break跳出循环。
}
}
}
}
参考:
https://blog.csdn.net/wang704987562/article/details/105353596
推荐阅读