JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?

JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?_qq_43171869的博客-CSDN博客

public static void main(String[] args) {

      ExecutorService service = Executors.newFixedThreadPool(10);

      service.submit(() -> System.out.println("Hello "));

      System.out.println("World");
  }
复制代码
呵呵,执行结果谁都知道,显而易见

但是小老弟,有没有发现这个程序 一直都没有结束
呢?明明这个任务都已经跑完了呀~
结论
开始了吗?不好意思已经结束了,嘻嘻,大过年的不卖关子,我们直接公布答案,造成不退出的原因是这样:
你丑 线程池的创建的时候,第一次 submit 操作会创建 Worker 线程(负责去拿任务处理),该线程里写了一个死循环,所以

JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?最先出现在Python成神之路

版权声明:
作者:Alex
链接:https://www.techfm.club/p/26239.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>