springboot 配置线程池

1.添加配置类

 @Configuration
    @EnableAsync
    public class ThreadPoolConfig {
    
        @Bean("taskExecutor")
        public TaskExecutor taskExecutor() {
            ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
            // 设置核心线程数
            executor.setCorePoolSize(10);
            // 设置最大线程数
            executor.setMaxPoolSize(20);
            // 设置队列容量
            executor.setQueueCapacity(200);
            // 设置线程活跃时间(秒)
            executor.setKeepAliveSeconds(60);
            // 设置默认线程名称
            executor.setThreadNamePrefix("taskExecutor-");
            // 设置拒绝策略
            executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
            // 等待所有任务结束后再关闭线程池
            executor.setWaitForTasksToCompleteOnShutdown(true);
            return executor;
        }
    }

2 在需要异步处理的方法上加上注解

@Async(value = "taskExecutor")

你可能感兴趣的:(springboot)