//ThreadPoolExecutor.java
public ThreadPoolExecutor(
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue,
ThreadFactory threadFactory,
RejectedExecutionHandler handler)
1
2
3
4
5
6
7
8
9
1 corePoolSize:核心线程数,线程池维持的线程数量
2 maximumPoolSize:最大的线程数,当阻塞队列不可再接受任务时且maximumPoolSize大于corePoolSize则会创建非核心线程来执行。但任务执行时,会被销毁
3 keepAliveTime:非核心线程在闲暇间的存活时间
4 TimeUnit:和keepAliveTime配合使用,表示keepAliveTime参数的时间单位
5 workQueue:任务的等待阻塞队列,正在执行的任务数超过corePoolSize时,加入该队列
6 threadFactory:线程的创建工厂
7 handler:拒绝策略,线程数达到了maximumPoolSize,还有任务提交则使用拒绝策略处理