| package com.zy.common.config; | 
|   | 
| import org.springframework.context.annotation.Bean; | 
| import org.springframework.context.annotation.Configuration; | 
| import org.springframework.scheduling.annotation.EnableAsync; | 
| import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | 
|   | 
| import java.util.concurrent.ThreadPoolExecutor; | 
|   | 
| /** | 
|  * Created by vincent on 2022/5/21 | 
|  */ | 
| @Configuration | 
| @EnableAsync | 
| public class ThreadPoolConfig { | 
|   | 
|     @Bean(name = "orderThreadPool") | 
|     public ThreadPoolTaskExecutor orderThreadPool() { | 
|         ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); | 
|         int core = Runtime.getRuntime().availableProcessors(); | 
|         core = 2; | 
|         //设置核心线程数 | 
|         executor.setCorePoolSize(core); | 
|         //设置最大线程数 | 
|         executor.setMaxPoolSize(core * 10 + core); | 
|         //除核心线程外的线程存活时间 | 
|         executor.setKeepAliveSeconds(3); | 
|         //缓冲队列 | 
|         executor.setQueueCapacity(core); | 
|         executor.setThreadNamePrefix("order-task-"); | 
|         //设置拒绝策略 | 
|         executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); | 
|         return executor; | 
|     } | 
|   | 
| } |