new ThreadPoolTaskExecutor();
时间: 2024-07-23 10:01:31 浏览: 46
Spring线程池ThreadPoolTaskExecutor配置详情
`ThreadPoolTaskExecutor`是Spring框架中的一个类,它代表了一个线程池用于异步执行任务。在Java中,创建一个`ThreadPoolTaskExecutor`实例通常是为了更好地管理和控制并发任务。
下面是如何创建一个基本的`ThreadPoolTaskExecutor`并设置一些配置参数的示例:
```java
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
// 创建一个线程池任务执行器
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 设置核心线程数(最小数量)
executor.setCorePoolSize(5);
// 设置最大线程数(允许的最大数量)
executor.setMaxPoolSize(10);
// 设置线程队列大小(当工作线程达到最大时,新任务会等待的队列长度)
executor.setQueueCapacity(100);
// 设置线程名称格式(方便日志跟踪)
executor.setThreadNamePrefix("MyTaskExecutor-");
// 设置拒绝策略(当工作队列已满且没有空闲线程时,如何处理新任务)
executor.setRejectedExecutionHandler(Runnable::run); // 使用默认的阻塞策略
// 启动线程池
executor.initialize();
```
在这个例子中,我们创建了一个有5个核心线程和最多10个线程的线程池,设置了队列容量为100,任务执行前会添加到队列中等待,如果队列满了且没有空闲线程,新任务会被阻塞或按照自定义的`RejectedExecutionHandler`策略处理。
阅读全文