为了提高cpu的使用率,spring服务器项目中会经常用到多线程,因此使用线程池是必备的,以下创建和使用多线程是方式是多年工作中总结出来的,算是一个不错的实践
配置线程池
创建配置类:AsyncConfig.java
,项目中使用到的多线程都将由它创建
/**
* 使用异步方式@Async来执行异步,而不是通过自定义的 applicationEventMulticaster 来执行异步
* 目的是对监听事件的更灵活的控制
*/
@Configuration
@Slf4j
public class AsyncConfig implements AsyncConfigurer {
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(20);
executor.setMaxPoolSize(50);
executor.setKeepAliveSeconds(60);
executor.