Spring框架中线程池配置是优化应用性能的关键环节,尤其在异步调用和任务处理场景中。以下是核心配置要点:
1. 基础配置参数 📋
- 核心线程数(corePoolSize):保持的最小线程数,避免频繁创建销毁
- 最大线程数(maxPoolSize):线程池最大容纳线程数,超出时任务会被拒绝
- 队列容量(queueCapacity):缓冲任务的队列大小,常见使用
LinkedBlockingQueue
- 拒绝策略(rejectPolicy):任务超时的处理方式,如
AbortPolicy
或CallerRunsPolicy
2. 配置方式 🛠️
- Java配置:
@Bean public Executor taskExecutor() { return new ThreadPoolTaskExecutor(); }
- XML配置:
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <property name="corePoolSize" value="5"/> <property name="maxPoolSize" value="10"/> </bean>
3. 应用场景 🌐
- 异步方法调用(
@Async
注解) - 轮询任务调度(
@Scheduled
注解) - 高并发请求处理(如消息队列消费)
4. 配置建议 ⚙️
- 根据业务负载调整核心参数
- 队列容量建议设置为
Integer.MAX_VALUE
(需根据实际需求) - 拒绝策略可自定义,避免系统崩溃