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可以停止!

  • 相关阅读:
    html 知识
    mysql use mysql hang
    微信机器人 简化版
    Tk::Table
    好友消息和群消息区别
    完整的微信登陆 接收消息流程
    Python OOP知识积累
    Python OOP知识积累
    JSTL EL 详解
    JSP中的EL表达式详细介绍
  • 原文地址:https://www.cnblogs.com/iuyy/p/13574052.html
Copyright © 2011-2022 走看看