CompletableFuture.runAsync怎么配置线程池
时间: 2023-11-16 21:59:19 浏览: 390
Spring线程池配置
CompletableFuture.runAsync方法可以通过指定线程池来执行异步任务。具体配置方法如下:
1. 首先创建一个自定义的线程池,可以在配置类中使用@Bean注解创建,设置线程池的参数,例如核心线程数、最大线程数、队列容量等。
2. 在使用CompletableFuture.runAsync方法时,通过指定线程池来执行异步任务。具体方法是在runAsync方法中传入一个Executor参数,将自定义的线程池作为参数传入即可。
下面是一个示例代码:
```
@Configuration
public class ThreadPoolConfig {
@Bean
public Executor myThreadPool() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(20);
executor.setQueueCapacity(100);
executor.setThreadNamePrefix("myThreadPool-");
executor.initialize();
return executor;
}
}
@Service
public class MyService {
public void doSomethingAsync() {
CompletableFuture.runAsync(() -> {
// 异步任务逻辑
}, myThreadPool());
}
}
```
在上面的示例中,我们创建了一个名为myThreadPool的自定义线程池,并将其作为参数传入CompletableFuture.runAsync方法中。这样就可以使用自定义线程池来执行异步任务了。
阅读全文