批量任务并行处理示例(基于Spring框架)
以下是一个 完整可运行 的批量任务并行处理示例,包含 任务拆分、异步执行、线程池管理、耗时
监控 等核心功能,适用于数据清洗、文件处理、批量通知等场景。
1. 线程池配置
@Configuration
@EnableAsync
public class ThreadPoolConfig {
@Bean("batchTaskPool") // 专用批量任务线程池
public Executor batchTaskThreadPool() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(8); // 核心线程数 = CPU核心数
executor.setMaxPoolSize(16); // 最大线程数 = CPU核心数 * 2
executor.setQueueCapacity(1000); // 队列容量(根据任务调整)
executor.setThreadNamePrefix("batch-worker-");
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.C