线程池的四种拒绝策略
线程池中的线程是有限的,并不能无限制的创建,这也是使用线程池的初衷。所以当线程池无法执行新任务时,会拒绝新任务的执行。官方提供了四种拒绝策略
AbortPolicy
拒绝执行任务并抛出异常
DiscardPolicy
丢弃新任务
DiscardOldestPolicy
丢弃最早未执行的任务。在优先级队列下慎用
CallerRunsPolicy
在调用线程中执行被拒绝的任务
线程池中的线程是有限的,并不能无限制的创建,这也是使用线程池的初衷。所以当线程池无法执行新任务时,会拒绝新任务的执行。官方提供了四种拒绝策略
拒绝执行任务并抛出异常
丢弃新任务
丢弃最早未执行的任务。在优先级队列下慎用
在调用线程中执行被拒绝的任务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步