ThreadPoolExecutor.CallerRunsPolicy
时间: 2023-08-17 10:12:26 浏览: 95
线程池之ThreadPoolExecutor.docx
ThreadPoolExecutor.CallerRunsPolicy 是 Java 中的一个线程池的拒绝策略,用来处理任务提交时线程池已满的情况。当线程池的工作队列已满且线程池达到最大线程数时,CallerRunsPolicy 策略会将任务交给提交任务的线程来执行。
换句话说,如果线程池的工作队列已满,而且线程池中的线程数已经达到最大线程数,那么新提交的任务将不会被放入队列中等待执行,而是由提交任务的线程自己来执行该任务。这种策略可以避免任务丢失,但可能会导致提交任务的线程执行任务的速度变慢。
这个拒绝策略通常用于保证任务一定会被执行,即使是在高负载情况下。但需要注意的是,如果提交任务的线程也处于高负载状态,可能会导致整个系统的响应性能下降。因此,在选择拒绝策略时需要根据具体场景进行权衡。
阅读全文