一句话就能说清楚里面的:当短时间内提交的任务超过队列长度之后,由于核心线程数和最大线程数设置的一致,所以会触发拒绝策略。(你能得出这个结论完全是因为你把线程执行任务的代码简化成了 int a= 0,如果这块你改成 Thread.sleep(100); 又会出现 拒绝)
而本质原因应该是:提交的任务数 > 队列空余长度,且不能再分配线程处理时(处理的线程数已经达到最大线程数),会触发拒绝策略;本质是:提交的任务数 > 队列空余长度
相似问题