线程池四种拒绝策略压测对比:AbortPolicy vs CallerRunsPolicy,数据说了算
一、引言 线程池是高并发场景下的核心组件,而拒绝策略则是线程池满载时的"安全阀"。很多开发者对四种拒绝策略的理解停留在理论层面,今天我们用真实数据说话,对比四种策略在相同压力下的表现。 测试条件: 核心线程:4 最大线程:8 队列容量:100 并发请求:200 任务耗时:模拟 100ms IO 操作 二、四种拒绝策略原理剖析 2.1 AbortPolicy(默认策略) 直接抛出 RejectedExecutionException 异常。 public static class AbortPolicy implements RejectedExecutionHandler { public AbortPolicy() {} public void rejectedExecution(Runnable r, ThreadPoolExecutor e) { throw new RejectedExecutionException( "Task " + r.toString() + " rejected from " + e.toString()); } } 特点: 快速失败,吞吐量....