文章目录
- 一、线程池 (`重点`)
- 二、 Java线程池的继承关系
-
- 1、Executor 框架结构
- 2、 ThreadPoolExecutor (重点)
- 3、 线程池的4种拒绝策略
- 4、 Executors工具类 (重点)
- 5、Executors弊端 (`重点`)
- 6、如何定义线程池参数
- 7、 如何处理执行任务异常
- 三、 Fork/Join (`熟悉`)
一、线程池 (重点)
池化技术有很多, 比如线程池、数据库连接池、HTTP连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。
这里借用 《Java 并发编程的艺术》 提到的来说一下使用线程池的好处:
降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 (创建的线程,实际最后要和操作系统的线程做映射,很消耗资源)提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。- 配置的线程数少了,会导致系统运行效率不高;线程配置多使用线程池,我们可以根据系统的环境情况,来手动或自动设置线程数目会导致系统拥挤、占用内存多。所以
本文深入探讨Java并发编程中的线程池,详细讲解如何自定义线程池,分析ThreadPoolExecutor的构造参数和拒绝策略。讨论了Executors类的线程池创建方法的优缺点,并介绍了ScheduledExecutorService用于任务调度。此外,文章还提到了Fork/Join框架在CPU密集型计算中的应用。通过对线程池状态、执行任务和关闭线程池的方法的介绍,帮助读者理解线程池的使用和管理。
订阅专栏 解锁全文
2686

被折叠的 条评论
为什么被折叠?



