ThreadPoolTaskExecutor单例实现
时间: 2023-12-12 07:36:07 浏览: 131
Java线程池ThreadPoolExecutor原理及使用实例
ThreadPoolTaskExecutor是Spring框架中的一个线程池实现类,它是一个单例模式的类,因此在整个应用程序中只会存在一个ThreadPoolTaskExecutor实例。要实现ThreadPoolTaskExecutor的单例模式,可以使用Spring框架中的@Bean注解将ThreadPoolTaskExecutor对象注入到容器中,然后在需要使用的地方通过@Autowired注解进行注入即可。
具体实现步骤如下:
1.在配置类中使用@Bean注解创建ThreadPoolTaskExecutor对象,并设置相关属性。
```java
@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("my-thread-");
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
executor.initialize();
return executor;
}
}
```
2.在需要使用ThreadPoolTaskExecutor的地方使用@Autowired注解进行注入。
```java
@Service
public class MyService {
@Autowired
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
//...
}
```
阅读全文