目录
提示:ThreadPoolExecutor创建线程池方法
本文代码参考了[芋道源码](https://mp.weixin.qq.com/s/FiZn1oEeBN9Ya4aTJ12vTA)
前言
ThreadPoolExecutor 创建线程池方法
提示:以下是本篇文章正文内容,下面案例可供参考
一、ThreadPoolExecutor 是什么?
ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务;
二、ThreadPoolExecutor 的参数
参数名 | 作用 |
---|---|
corePoolSize (int) | 核心线程池大小 |
maximumPoolSize (int) | 最大线程池大小 |
keepAliveTime (long) | 线程池中超过corePoolSize数目的空闲线程最大存活时间;可以allowCoreThreadTimeOut(true)使得核心线程有效时间 |
unit(TimeUnit) | keepAliveTime时间单位 |
workQueue (BlockingQueue) | 阻塞任务队列 |
threadFactory (ThreadFactory) | 新建线程工厂 |
RejectedExecutionHandler | 当提交任务数超过maxmumPoolSize+workQueue之和时,任务会交给RejectedExecutionHandler来处理(拒绝策略) |
三、使用步骤
1.下面是一个简单的小列子
代码如下(示例):
public static void main(String[] args) {
//核心线程数
int corePoolSize =2;
//最大线程数
int maximumPoolSize=6;
//超过corePoolSize线程数线程的等待时间
long keepAliveTime =2;
//以秒为时间单位
TimeUnit unit =TimeUnit