java并发包之线程池

简介

线程池是java中用来管理线程的工具,可以复用线程,以减小创建销毁线程的开销,同时提供了对线程灵活的控制

参数含义

1562683184(1).jpg

corePoolSize 为常驻线程数量,常驻线程在任务执行完成后会阻塞
maximunPoolSize 为线程池最大线程数,非核心线程在执行完成任务后停留一段时间后会被销毁
keepAliveTime 为非核心线程驻留时间
unit 时间单位
workQueue 任务队列
threadFactory 用于创建线程
RejectedExecutionHandler 拒绝策略

当提交一个任务时,首先会检查核心线程数量,若未满,则添加核心线程来执行,若已满,则添加到阻塞队列,若添加失败,则尝试添加线程,若任然失败,则执行拒绝策略

线程数核心线程数配置
若为IO密集型,则需要较多的线程,建议 2 * N_CORE
若为CPU密集型,建议 N_CORE + 1,对一个线程来利用IO等待CPU空出来的时钟周期

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容