springboot 异步线程池
时间: 2023-11-11 11:59:32 浏览: 112
Spring Boot提供了异步执行方法的支持,可以使用线程池来处理异步任务。在Spring Boot中,我们可以使用@Async注解来标记异步方法,同时需要在配置类中使用@EnableAsync注解开启异步执行的支持,并配置一个线程池来处理异步任务。
下面是一个简单的示例:
```java
@Service
public class MyService {
@Async
public CompletableFuture<String> doSomething() {
// 异步执行的方法体
return CompletableFuture.completedFuture("result");
}
}
@Configuration
@EnableAsync
public class AppConfig implements AsyncConfigurer {
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(100);
executor.setQueueCapacity(10);
executor.setThreadNamePrefix("MyExecutor-");
executor.initialize();
return executor;
}
}
```
在上面的示例中,MyService类中的doSomething方法被标记为异步方法,返回一个CompletableFuture对象。在AppConfig配置类中,我们实现了AsyncConfigurer接口,并重写了getAsyncExecutor方法来配置一个线程池。
阅读全文