springboot 线程池提前创建和使用
时间: 2023-12-25 17:02:42 浏览: 86
在 Spring Boot 中,可以通过配置线程池来提前创建和使用线程池。下面是一些示例代码:
1. 提前创建线程池
```java
@Configuration
public class ThreadPoolConfig {
@Bean(name = "myThreadPool")
public Executor myThreadPool() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(20);
executor.setQueueCapacity(100);
executor.setKeepAliveSeconds(60);
executor.setThreadNamePrefix("myThreadPool-");
executor.initialize();
return executor;
}
}
```
2. 使用线程池
```java
@Service
public class MyService {
@Autowired
private Executor myThreadPool;
public void doTask() {
myThreadPool.execute(() -> {
// 执行任务。
});
}
}
```
在以上代码中,我们先在配置类中创建了一个线程池,然后在服务类中通过自动注入的方式获取线程池,并使用其执行任务。这样可以提前创建线程池,避免在需要使用线程池时再去创建,从而提高性能。
阅读全文