1、添加AsyncConfig配置类,设置线程池信息
@Configuration
@EnableAsync
public class AsyncConfig implements AsyncConfigurer {
public static final Logger logger = LoggerFactory.getLogger(AsyncConfig.class);
/**
* 线程数量未达到corePoolSize,则新建一个线程(核心线程)执行任务
* 线程数量达到了corePools,则将任务移入队列等待
* 队列已满,新建线程(非核心线程)执行任务
* 队列已满,总线程数又达到了maximumPoolSize,就会抛出异常
*
* @param
* @Return: java.util.concurrent.Executor
* @Author: niuqingsong
* @Date: 2019/9/3
*/
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
/*核心线程数,如果当前运行的线程数小于corePoolSize,那么就创建线程来执行任务*/
executor.setCorePoolSize(10);
/*最大线程数*/
executor.setMaxPoolSize(30);
/*队列大小*/
executor.setQueueCapacity(8);
executor.initialize();
executor.setThreadNamePrefix("AsyncThread-");
logger.info("init async thread pool");
return executor;
}
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return null;
}
}
来源:https://blog.csdn.net/sayoko06/article/details/100524884