线程池中的线程是有限的,并不能无限制的创建,这也是使用线程池的初衷。所以当线程池无法执行新任务时,会拒绝新任务的执行。官方提供了四种拒绝策略
AbortPolicy
拒绝执行任务并抛出异常
DiscardPolicy
丢弃新任务
DiscardOldestPolicy
丢弃最早未执行的任务。在优先级队列下慎用
CallerRunsPolicy
在调用线程中执行被拒绝的任务
2023-10-26 15:01:16
线程池中的线程是有限的,并不能无限制的创建,这也是使用线程池的初衷。所以当线程池无法执行新任务时,会拒绝新任务的执行。官方提供了四种拒绝策略
拒绝执行任务并抛出异常
丢弃新任务
丢弃最早未执行的任务。在优先级队列下慎用
在调用线程中执行被拒绝的任务