本文重点讲解当线程池的任务过多时,如何去拒绝这些任务。
拒绝条件
1.线程已经shutdown了,需要拒绝
2.最大线程数或者队列已经满了,需要拒绝
拒绝策略
1.abortPolicy: 直接抛出异常
2.discardPolicy:任务丢弃,收不到通知
3.discardOldestPolicy:丢弃最老的
4.callerRunsPolicy:调用者运行策略,让提交任务的线程去运行。
备注:前三种会有任务丢失,第四种相当于是一种反馈策略。
本文重点讲解当线程池的任务过多时,如何去拒绝这些任务。
1.线程已经shutdown了,需要拒绝
2.最大线程数或者队列已经满了,需要拒绝
1.abortPolicy: 直接抛出异常
2.discardPolicy:任务丢弃,收不到通知
3.discardOldestPolicy:丢弃最老的
4.callerRunsPolicy:调用者运行策略,让提交任务的线程去运行。
备注:前三种会有任务丢失,第四种相当于是一种反馈策略。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。