一、线程池工具类
import cn.hutool.core.thread.ExecutorBuilder;
import cn.hutool.core.thread.ThreadFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.*;
@Configuration
public class ThreadPoolConfig {
/**
* 初始化线程池
* 队列策略:
* 拒绝策略:由主线程来直接执行
* @return
*/
@Bean("threadPoolExecutor")
public ExecutorService threadPoolExecutor() {
ThreadPoolExecutor threadPoolExecutor = ExecutorBuilder.create()
.setCorePoolSize(8)
.setMaxPoolSize(8 << 1)
.setWorkQueue(new LinkedBlockingQueue<>(500))
.setKeepAliveTime(30, TimeUnit.SECONDS)
.setHandler(new ThreadPoolExecutor.CallerRunsPolicy())
.setThreadFactory(ThreadFactoryBuilder.create().setNamePrefix("sync-").build())
.build();
return threadPoolExecuto