package org.sxkj.resource.download.comfig; import jodd.util.concurrent.ThreadFactoryBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.concurrent.ExecutorService; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; /** * @Description TODO 下载任务线程池配置 * @Author AIX * @Date 2025/8/5 13:48 * @Version 1.0 */ @Configuration public class ThreadPoolConfig { @Bean("downloadTaskExecutor") public ExecutorService downloadTaskExecutor() { return new ThreadPoolExecutor( // 核心线程数 8, // 最大线程数 32, 60L, TimeUnit.SECONDS, // 队列大小 new LinkedBlockingQueue<>(100), new ThreadFactoryBuilder().setNameFormat("download-task-%d").get(), // 拒绝策略 new ThreadPoolExecutor.CallerRunsPolicy() ); } }