> 文档中心 > ThreadPoolExecutor线程池源码图文精讲

ThreadPoolExecutor线程池源码图文精讲


ThreadPoolExecutor线程池源码图文精讲

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IHzkKpYV-1650201961127)(/assets/images/java/f62f0d5ebbaa6de940f4a304d133b5626c8f465c3e8bd62a8ace125e7a898767.png)]

ThreadPoolExecutor介绍

首先我们要思考一下为什么要使用线程池。Java提供了多线程机制让我们能够同时运行多个任务,就像多个任务由多个人同时执行,而不是一个人依次执行这些任务。但是如果我们每次执行任务都创建一个线程,导致的问题有

  1. 每次创建销毁线程都有一定的开销
  2. 线程数量不好控制,过多的线程会导致内存占用过多,也可能超过操作系统的限制导致异常

因此Java提供了默认的线程池,帮助大家解决这些问题,通过ThreadPoolExecutor,我们可以实现多种线程创建回收策略,以适应不同的需求场景。

线程池可以使用的场景有

  1. 批量处理,例如我们进行一个分表扫描任务,各个任务之间也没有有依赖,则我们可以把每个分表的任务提交到线程池中,提高整体任务的执行速度。
  2. 优化接口耗时,假

ThreadPoolExecutor线程池源码图文精讲 创作打卡挑战赛 ThreadPoolExecutor线程池源码图文精讲 赢取流量/现金/CSDN周边激励大奖