ThreadPoolExecutor

参数:

corePoolSize 核心线程池大小

(1) 当线程池小于corePoolSize时,新提交任务将创建一个新线程执行任务,即使此时线程池中存在空闲线程

(2) 当线程池达到corePoolSize时,新提交任务将被放入workQueue中,等待线程池中任务调度执行

maximumPoolSize 线程池最大容量(容纳的任务量 ,与线程数量没关系)大小

提交任务数超过maximumPoolSize时,新提交任务由RejectedExecutionHandler处理(拒绝受理新任务)


workQueue

RejectedExecutionHandler 线程拒绝策略

当提交任务数超过maximumPoolSize时,新提交任务由RejectedExecutionHandler处理

线程的提交方法主要是execute和submit。

TimeUnit 时间单位

ThreadFactory 新建线程工厂

keepAliveTime 线程池空闲时,线程存活的时间当线程池中超过corePoolSize线程,空闲时间达到keepAliveTime时,关闭空闲线程



Executors方法提供的线程服务,都是通过参数设置ThreadPoolExecutor来实现不同的线程池机制。

callable用法和runnable的区别:两者都可以实现并发编程,callable有一个泛型返回值,runnable接口没有返回值。

你可能感兴趣的:(ThreadPoolExecutor)