ThreadPoolExecutor拒绝策略
时间: 2023-10-17 14:01:27 浏览: 37
ThreadPoolExecutor拒绝策略是指当线程池无法接受新的任务时,如何处理这些被拒绝的任务。ThreadPoolExecutor提供了几种不同的拒绝策略。其中,DiscardPolicy是一种拒绝策略,它会直接丢弃当前的任务,而不会抛出异常。
另一种拒绝策略是CallerRunsPolicy,它会由调用线程(也就是提交任务的线程)来处理该任务。当任务被拒绝时,如果线程池没有关闭,调用线程会执行该任务。
举个例子,如果我们创建了一个ThreadPoolExecutor对象并指定了DiscardPolicy作为拒绝策略,当线程池中的线程数达到最大值并且阻塞队列也已满时,新的任务将被直接丢弃。
总之,ThreadPoolExecutor的拒绝策略决定了当线程池无法接受新任务时的处理方式,可以根据具体需求选择合适的拒绝策略来处理被拒绝的任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Java并发编程系列27:ThreadPoolExecutor的4种拒绝策略](https://blog.csdn.net/fen_fen/article/details/122909142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]