SpringBoot对java的线程池进行了封装, 可以通过配置直接使用线程池。
- 配置线程池
@Configuration
@EnableAsync
public class WebContextConfiguration {
@Bean
public Executor threadPoolTaskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(10);
executor.setMaxPoolSize(10);
return executor;
}
}
- 使用多线程的地方
@Service
public class AsyncService {
@Async
public Future<Map<String, Object>> asyncMethod() {
String result = null;
return new AsyncResult(result);
}
}
如果线程池的线程够的化, 每调用一次方法开启一个线程