ThreadPoolTaskExecutor初始化
时间: 2023-10-14 08:16:47 浏览: 135
ThreadPoolTaskExecutor是Spring提供的一个线程池的实现类。在使用它的时候,我们需要对它进行初始化配置。常用的初始化配置包括:
1. corePoolSize:核心线程数,即线程池中一直保持运行的线程数量。
2. maxPoolSize:最大线程数,即线程池中允许的最大线程数目。
3. queueCapacity:任务队列容量,即线程池中的任务队列可以容纳的最大任务数。
4. keepAliveSeconds:线程空闲时间,即当线程池中的某个线程空闲时间超过keepAliveSeconds时,该线程将被销毁。
5. threadNamePrefix:线程名称前缀,用于区分不同线程池的线程。
下面是一个ThreadPoolTaskExecutor的初始化配置示例:
```
@Configuration
public class ThreadPoolConfig {
@Bean
public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(20);
executor.setQueueCapacity(100);
executor.setKeepAliveSeconds(60);
executor.setThreadNamePrefix("thread-pool");
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
executor.initialize();
return executor;
}
}
```
在上面的配置中,我们使用@Bean注解将ThreadPoolTaskExecutor注入到Spring容器中,并设置了核心线程数为10,最大线程数为20,任务队列容量为100,线程空闲时间为60秒,线程名称前缀为“thread-pool”,拒绝策略为CallerRunsPolicy,最后调用executor.initialize()进行初始化。
阅读全文