springboot如何整合线程池代码例子
时间: 2023-10-27 17:01:27 浏览: 89
springboot整合示例
以下是一个简单的示例代码,演示如何在Spring Boot中使用线程池:
1. 定义线程池配置
在Spring Boot的配置类中,定义线程池的相关配置,例如线程池大小、队列大小等。下面是一个示例代码:
```java
@Configuration
public class ThreadPoolConfig {
@Bean(name = "taskExecutor")
public Executor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10); // 线程池大小
executor.setMaxPoolSize(20);
executor.setQueueCapacity(200); // 队列大小
executor.setKeepAliveSeconds(60);
executor.setThreadNamePrefix("taskExecutor-");
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
executor.initialize();
return executor;
}
}
```
2. 使用线程池执行任务
在需要使用线程池的地方,注入线程池即可使用。例如以下代码:
```java
@Service
public class MyService {
@Autowired
private Executor taskExecutor;
public void doSomething() {
taskExecutor.execute(() -> {
// 需要执行的任务
});
}
}
```
在上面的示例代码中,我们将线程池注入到了MyService中,并使用execute()方法执行一个需要异步执行的任务。
阅读全文