ThreadPoolExecutor线程池源码图文精讲
ThreadPoolExecutor线程池源码图文精讲
ThreadPoolExecutor介绍
首先我们要思考一下为什么要使用线程池。Java提供了多线程机制让我们能够同时运行多个任务,就像多个任务由多个人同时执行,而不是一个人依次执行这些任务。但是如果我们每次执行任务都创建一个线程,导致的问题有
- 每次创建销毁线程都有一定的开销
- 线程数量不好控制,过多的线程会导致内存占用过多,也可能超过操作系统的限制导致异常
因此Java提供了默认的线程池,帮助大家解决这些问题,通过ThreadPoolExecutor,我们可以实现多种线程创建回收策略,以适应不同的需求场景。
线程池可以使用的场景有
- 批量处理,例如我们进行一个分表扫描任务,各个任务之间也没有有依赖,则我们可以把每个分表的任务提交到线程池中,提高整体任务的执行速度。
- 优化接口耗时,假
创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖