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()
|
);
|
}
|
|
}
|