java设置线程池的大小和队列
时间: 2023-09-05 14:14:22 浏览: 110
java.util.concurrent 实现线程池队列
4星 · 用户满意度95%
Java中可以使用ThreadPoolExecutor类来设置线程池的大小和队列。
通过ThreadPoolExecutor的构造方法可以设置以下参数:
1. corePoolSize:线程池中保持活动状态的线程数,即核心线程数。
2. maximumPoolSize:线程池中允许的最大线程数。
3. keepAliveTime:线程池中超过corePoolSize的空闲线程的最大存活时间。
4. unit:keepAliveTime时间单位。
5. workQueue:等待执行的任务队列。
6. threadFactory:创建新线程的工厂。
7. handler:当任务无法执行时的处理器。
例如,以下代码创建了一个拥有5个核心线程、最大容纳10个线程、任务队列大小为100的线程池:
```
ThreadPoolExecutor executor = new ThreadPoolExecutor(5, 10, 10, TimeUnit.SECONDS, new ArrayBlockingQueue<>(100));
```
在实际应用中,需要根据任务类型、线程数目等情况进行合理的设置,以达到最优的性能和资源利用效率。
阅读全文