前言:
本系列前几篇文章对进程与线程,JMM,悲观锁,乐观锁等进行了介绍,本篇和下一篇将对并发工具进行讲解。本篇的内容是线程池,使用线程池的意义在于避免每次重新创建新线程,减少内存占用,避免上下文切换。
一、手写自定义线程池
二、ThreadPoolExecutor
2.1 线程池状态
2.2 构造方法
2.3 newFixedThreadPool(工厂方法1)
2.4 newCachedThreadPool(工厂方法2)
2.5 newSingleThreadExecutor(工厂方法3)
三、总结
本篇包括手写自定义线程池和ThreadPoolExecutor的解读。