创建ThreadPoolExecutor带6个参数的线程池
时间: 2023-11-03 10:20:55 浏览: 131
要创建一个带有6个参数的ThreadPoolExecutor线程池,你可以使用ThreadPoolExecutor类的构造函数,并传递以下参数:
1. corePoolSize:指定线程池中保留的核心线程数。
2. maximumPoolSize:指定线程池中允许的最大线程数。
3. keepAliveTime:当线程池中线程数量超过核心线程数时,多余的空闲线程在被终止之前等待新任务的最长时间。
4. unit:keepAliveTime参数的时间单位。
5. workQueue:用于保存等待执行的任务的阻塞队列。
6. threadFactory:用于创建新线程的工厂。
下面是一个示例代码:
```java
import java.util.concurrent.*;
public class ThreadPoolExample {
public static void main(String[] args) {
int corePoolSize = 5;
int maximumPoolSize = 10;
long keepAliveTime = 5000; // 5秒
TimeUnit unit = TimeUnit.MILLISECONDS;
BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<>(100);
ThreadFactory threadFactory = Executors.defaultThreadFactory();
ThreadPoolExecutor executor = new ThreadPoolExecutor(
corePoolSize,
maximumPoolSize,
keepAliveTime,
unit,
workQueue,
threadFactory
);
// 使用线程池执行任务
executor.execute(() -> {
// 执行任务的代码
System.out.println("执行任务");
});
// 关闭线程池
executor.shutdown();
}
}
```
在这个示例中,我们创建了一个ThreadPoolExecutor实例,并设置了核心线程数为5,最大线程数为10,空闲线程的最长等待时间为5秒。任务使用execute方法提交给线程池执行。最后,我们调用executor.shutdown()来关闭线程池。
阅读全文