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接口没有返回值。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容