zoukankan      html  css  js  c++  java
  • shutdownNow

    函数作用:

    尝试停止所有正在执行的任务,暂停正在等待的任务的处理,并返回正在等待执行的任务的列表,这个方法不等待正在执行的任务终止。

    注意:对于正在执行的任务:ThreadPoolExecutor的实现是,遍历正在执行的任务,对每个任务调用interruptIfStarted(),设置对应线程的中断标志位。

    void interruptIfStarted() {
        Thread t;
        if (getState() >= 0 && (t = thread) != null && !t.isInterrupted()) {
            try {
                t.interrupt();
            } catch (SecurityException ignore) {
            }
        }
    }
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    public class Exec {
        public static void main(String[] args) {
            ExecutorService exec = Executors.newCachedThreadPool();
            exec.submit(new Runnable() {
                @Override
                public void run() {
                    for(;;){
                        System.out.println("Thread1!");
                    }
                }
            });
            exec.submit(new Runnable() {
                @Override
                public void run() {
                    for(;!Thread.interrupted();){
                        System.out.println("Thread2!");
                    }
                }
            });
    
            exec.shutdownNow();
        }
    }

    输出结果:线程1无法停止,线程2可以停止!

  • 相关阅读:
    Linux ansible的group模块
    ansible copy 模块详解
    Linux centos yum仓库 自制
    ansible 的playbook脚本
    Linux centos 监控备份
    Linux centos nginx下载安装初步
    周总结5
    周总结4
    爬取
    结对开发
  • 原文地址:https://www.cnblogs.com/iuyy/p/13574052.html
Copyright © 2011-2022 走看看