【说站】java线程池有哪些拒绝策略
2024-11-07
26
java线程池有哪些拒绝策略
1、AbortPolicy:这种拒绝战略在拒绝任务时,直接提出RejectedExecutionexception类型的Runtimeeexception,觉任务被拒绝,可以根据业务逻辑重试或放弃提交
2、DiscardPolicy:新任务提交后被直接丢弃,没有任何通知,有一定的风险,有可能丢失数据。
3、DiscardOldestPolicy:新任务提交后,将丢弃生存时间最长的任务,同样也有丢失数据的风险。
4、CallerRunsPolicy:新任务提交后,该任务提交给提交任务的线程,即谁提交任务,谁负责任务。这样做主要有两点好处。
第一,新提交的任务不会被抛弃,不会造成业务损失。
第二,由于谁提交任务谁负责任务,提交任务的路线必须负责任务,执行任务需要时间,在此期间,提交任务的路线被占有,不提交新任务,任务提交速度变慢,相当于负面反馈。在此期间,线程池的线程也可以充分利用这个时间执行一部分任务,腾出一定的空间,相当于给线程池一定的缓冲期。
以上就是java线程池拒绝策略的介绍,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。
更新于:1个月前赞一波!
相关文章
- 【说站】python tqdm有哪些用法
- 【说站】python线程阻塞的解决
- 【说站】java io和nio的区别
- 【说站】java枚举类型的原理
- 【说站】java静态方法和非静态方法的介绍
- 【说站】java单例模式中的Holder是什么
- 【说站】java单例中饿汉模式的使用
- 【说站】Java反序列化如何理解
- 【说站】java懒汉和饿汉模式的区别
- 【说站】Java序列化是什么
- 【说站】java单例中的饱汉模式实现
- 【说站】JavaScript数组有哪些遍历方法
- 【说站】python特殊方法有哪些
- 【说站】java中&和&&有什么区别
- 【说站】css Flex容器属性有哪些
- 【说站】python有哪些编译器
- 【说站】php PDO的预处理语句有哪些
- 【说站】java如何在表格添加水印
- 【说站】java如何重写findClass方法
- 【说站】java类加载器的常用方法
文章评论
评论问答