首页 > 试题广场 >

当请求过多,超出线程池负荷的时候,会触发拒绝策略。下列选项中

[单选题]
当请求过多,超出线程池负荷的时候,会触发拒绝策略。下列选项中,对于拒绝策略的描述错误的是(   ):
  • CallerRunsPolicy,线程调用运行该任务的 execute 本身,此策略提供简单的反馈控制机制,能够减缓新任务的提交速度。
  • AbortPolicy,处理程序遭到拒绝将直接抛出异常,丢弃任务。
  • DiscardPolicy,不能执行的任务将被删除。这种策略将丢弃任务,同时也会抛出异常。
  • DiscardOldestPolicy,如果执行程序尚未关闭,则位于工作队列头部的任务将被删除,然后重试执行程序。
线程池拒绝策略:
    (1) AbortPolicy 。丢弃任务,并抛出RejectedExecutionException异常,线程池默认拒绝策略;
    (2) DiscardPolicy。丢弃任务,不抛出异常;
    (3) DiscardOldesPolicy.丢弃队列最前面的任务,然后重新提交被拒绝的任务;
    (4) CallerRunPolicy。由调用的线程处理该任务,谁调用谁的线程处理。
发表于 2021-05-26 14:36:40 回复(0)
DiscardPolicy是一种任务丢弃策略,如果任务队列已满,新的任务将被直接丢弃,不会抛出异常。
发表于 2023-05-30 11:57:47 回复(0)
  1. 线程池的四个拒绝策略:abortpolicy:丢弃人物跑出异常
  2. callerRunPolicy:哪儿来的回哪儿去
  3. discardpolicy:丢弃任务,不报异常
  4. discardoldespolicy:尝试再次获取竞争线程
        
发表于 2021-09-18 13:28:28 回复(0)