如果你提交任务时,线程池队列已满,这时会发生什么
时间: 2023-07-01 12:27:21 浏览: 349
当你提交任务时,如果线程池队列已满,则根据线程池的配置,可能会发生以下几种情况:
1. 如果线程池的核心线程数还没有达到最大值,那么线程池会创建一个新的线程来执行该任务。
2. 如果线程池的核心线程数已经达到最大值,但是线程池的最大线程数还没有达到最大值,那么线程池会将任务放入到等待队列中,等待有空闲的线程来执行。
3. 如果线程池的核心线程数和最大线程数都已经达到最大值,并且等待队列已经满了,那么线程池会根据线程池的拒绝策略来处理该任务。可能会抛出异常、直接丢弃该任务、阻塞任务提交线程或者在调用者线程中执行该任务等。
阅读全文