ThreadPoolExecutor构造方法
时间: 2023-07-07 18:45:41 浏览: 91
ThreadPoolExecutor是Java中的一个线程池实现,其构造方法如下:
```java
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit,
BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)
```
参数解析:
- `corePoolSize`: 线程池的核心线程数,当提交任务时,如果当前线程数少于核心线程数,则会立即创建一个新线程来执行任务,即使有其他空闲线程。
- `maximumPoolSize`: 线程池的最大线程数,当提交任务时,如果当前线程数等于核心线程数但是任务队列已满,则会创建新线程来执行任务,直到线程数达到最大线程数为止。如果此时任务队列已满,则会根据拒绝策略来处理新提交的任务。
- `keepAliveTime`: 当线程数大于核心线程数时,多余的空闲线程在该时间内没有任务可执行会被回收,直到线程数等于核心线程数为止。
- `unit`: keepAliveTime的时间单位。
- `workQueue`: 存放未执行的任务的阻塞队列。
- `threadFactory`: 创建新线程的工厂类。
- `handler`: 拒绝策略,当任务队列已满且线程数达到最大线程数时,会根据拒绝策略来处理新提交的任务。
其中,`corePoolSize`、`maximumPoolSize`、`keepAliveTime`、`unit`、`workQueue`是必填参数,`threadFactory`和`handler`是可选参数。
阅读全文