序号 | 参数 | 含义 | 备注 |
1 | corePoolSize | 核心线程数量,线程池初始化时设定 | corePoolSize 大小和 maximumPoolSize 大小一致的话 线程池中的线程将不会空闲、 keepAliveTime 和 timeUnit 就不会再起作用 |
2 | maximumPoolSize | 线程池最大线程数(非核心线程) 核心线程 和 非核心线程 共同使用线程池、但是核心线程是不会被回收的、回收条件是线程池中的线程数量大于核心线程数 | |
3 | keepAliveTime | 如果当前线程池中线程数大于corePoolSize。多余的线程、在等待keepAliveTime时间后如果还没有新的线程任务指派给它、它就会被回收 | |
4 | unit | 等待时间keepAliveTime的单位 | |
5 | workQueue | 等待队列, | 默认SynchronousQueue一个没有存储空间的阻塞队列 ,将任务同步交付给工作线程; 可以使用无界队LinkedBlockingQueue; 有界队列ArrayBlockingQueue; 以及优先级队列PriorityBlockingQueue |
6 | RejectedExecutionHandler | 饱和策略 | AbortPolicy(默认):直接抛弃 CallerRunsPolicy:用调用者的线程执行任务 DiscardOldestPolicy:抛弃队列中最久的任务 DiscardPolicy:抛弃当前任务 |
ThreadPoolExecutor 初始化各参数的含义
最新推荐文章于 2025-03-29 09:30:00 发布