文章目录
1. 简介
ThreadPoolExecutor 是线程池的管理类,线程池解决了两个不同的问题:由于降低了每个任务的调用开销,线程池通常在执行大量异步任务时提供更好的性能;线程池还提供了一种方法来约束和管理执行任务时消耗的资源(包括线程)。每个ThreadPoolExecutor还维护一些基本统计信息,比如已完成任务的数量。
阿里巴巴开发手册对线程的创建也明确作了要求:
ThreadPoolExecutor 执行顺序:
第一步,任务提交后,创建核心线程
第二步,核心线程数满了之后,新任务会放到阻塞队列
第三步,阻塞队列满了之后,会创建临时线程协助处理任务
2. 构造函数说明
ThreadPoolExecutor 提供了以下几种构造函数:
- corePoolSize: 核心线程数,当线程池调用 submit 提交一个任务并且当前线程数小于 corePoolS