线程池
IamHYN
这个作者很懒,什么都没留下…
展开
-
手把手教你手动创建线程池
一、为什么要手动创建线程池?我们之所以要手动创建线程池,是因为 JDK 自带的工具类所创建的线程池存在一定的弊端,那究竟存在怎么样的弊端呢?首先来回顾一下 JDK 中线程池框架的继承关系:JDK 线程池框架继承关系图我们最常用的线程池实现类是ThreadPoolExecutor(红框里的那个),首先我们来看一下它最通用的构造方法:/** * 各参数含义 * corePoolSiz...原创 2020-02-28 17:47:51 · 825 阅读 · 0 评论 -
关闭线程池的正确姿势,shutdown(), shutdownNow()和awaitTermination() 该怎么用?
ExecutorService 接口提供了三个方法用于手动关闭线程池,分别是shutdown(),shutdownNow()和awaitTermination()。我们最经常使用的 ThreadPoolExecutor 正是 ExecutorService 的实现类,自然也实现了这些方法。相信有很多小伙伴都没搞明白这些方法的区别,也不清楚在不同的情况下应该使用哪个方法。本文将通过ThreadPoo...原创 2019-12-16 17:22:18 · 3214 阅读 · 2 评论 -
Java 线程池会自动关闭吗?
文章目录1. 线程池自动关闭的情况一:核心线程数为 0 并指定线程存活时间1.1. 手动创建线程池2.2 Executors.newCachedThrteadPool() 创建线程池2. 线程池自动关闭的情况二:通过 allowCoreThreadTimeOut 控制核心线程存活时间3. 超详细的线程池执行流程图4. 结语首先我们需要了解线程池在什么情况下会自动关闭。ThreadPoolExec...原创 2019-12-07 19:49:44 · 6968 阅读 · 1 评论