public static void main(String[] args) {
log.error("主线程:{}", Thread.currentThread().getName());
InnerRunnable myRunnable = new InnerRunnable();
Thread thread1 = new Thread(myRunnable,"线程1");
thread1.start();
//Executor3();
log.error("中断线程1");
//thread1.isInterrupted();
thread1.stop();
log.error("中断是否成功",thread1.currentThread().getName());
}
public static class InnerRunnable implements Runnable{
public void run(){
try{
Integer i =1;
while(i<60){
log.error("线程{}内部的i:{}", Thread.currentThread().getName(),i);
i++;
}
}catch(Exception e){
log.error("线程被中断", Thread.currentThread().getName());
}
}
}
public static void ExecutorsM()
停止线程方法尝试和总结
最新推荐文章于 2022-04-30 17:26:44 发布
本文总结了尝试停止线程的几种方法,包括Thread的isInterrupted()、Executors线程池的shutdown()和shutdownNow(),以及ThreadPoolExecutor的remove()方法。实验证明这些方法并不能真正终止程序。最后提到虽然.stop()方法可以强制终止,但由于可能导致资源未释放,已被弃用。
摘要由CSDN通过智能技术生成