• 技术文章 >java >java基础

    java线程池有哪些拒绝策略

    小妮浅浅小妮浅浅2021-07-07 10:14:01原创2887

    1、AbortPolicy:这种拒绝战略在拒绝任务时,直接提出RejectedExecutionexception类型的Runtimeeexception,觉任务被拒绝,可以根据业务逻辑重试或放弃提交

    2、DiscardPolicy:新任务提交后被直接丢弃,没有任何通知,有一定的风险,有可能丢失数据。

    3、DiscardOldestPolicy:新任务提交后,将丢弃生存时间最长的任务,同样也有丢失数据的风险。

    4、CallerRunsPolicy:新任务提交后,该任务提交给提交任务的线程,即谁提交任务,谁负责任务。这样做主要有两点好处。

    第一,新提交的任务不会被抛弃,不会造成业务损失。

    第二,由于谁提交任务谁负责任务,提交任务的路线必须负责任务,执行任务需要时间,在此期间,提交任务的路线被占有,不提交新任务,任务提交速度变慢,相当于负面反馈。在此期间,线程池的线程也可以充分利用这个时间执行一部分任务,腾出一定的空间,相当于给线程池一定的缓冲期。

    以上就是java线程池拒绝策略的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java 线程池
    上一篇:java线程池的优缺点分析 下一篇:java线程池关闭的方法

    相关文章推荐

    • 深究Python中的asyncio库-线程池• 进一步认识python线程池• 如何使用python重复使用线程池?• ThreadPoolExecutor在java中创建线程池• java线程池的运行流程• java线程池创建方式• java线程池异常的处理方法• java线程池的工作队列有哪几个• java线程池死锁的产生及处理• java线程池中类的继承探究

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网