线程池
2025/8/23小于 1 分钟约 139 字
异步任务
// completionService 构造器可以传递线程池 支持pop poll 方法,优先处理已完成的任务
// CompletableFuture 支持指定线程 支持allOf join 或者方法链
// threadTaskPoolExecutor spring封装的线程池 可以直接创建一个completeFuture
// 创建ThreadPoolTaskExecutor线程池
@Bean
public ThreadPoolTaskExecutor threadPoolTaskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(20);
executor.setQueueCapacity(100);
executor.setThreadNamePrefix("MyThread-");
executor.initialize();
return executor;
}
@Autowired
private ThreadPoolTaskExecutor executor;
@Test
public void test(){
// 使用CompletableFuture创建
CompletableFuture<?> future = CompletableFuture.supplyAsync(() -> {});
// 使用Spring的ThreadPoolTaskExecutor创建
CompletableFuture<?> future1 = executor.submitCompletable(()->{});
CompletableFuture.allof(future,future1).join();
}