线程池拒绝策略 开发中常用什么策略_线程池有哪 4 种拒绝策略?
时间: 2023-09-10 17:10:30 浏览: 140
在开发中,常用的线程池拒绝策略包括:
1. AbortPolicy(默认):直接抛出RejectedExecutionException异常,阻止系统正常运行。
2. CallerRunsPolicy:只要线程池未关闭,该策略直接在调用者线程中,运行当前被丢弃的任务。显然这样做不会真的丢弃任务,但是,任务提交线程的性能极有可能急剧下降。
3. DiscardOldestPolicy:丢弃最老的一个请求任务,也就是即将被执行的一个任务,并尝试再次提交当前任务。
4. DiscardPolicy:直接丢弃任务,不予任何处理也不抛出异常。如果允许任务丢失,这是一种最好的方案。
线程池拒绝策略的选择需要根据具体的业务需求来进行选择,不能一概而论。
阅读全文