Java线程池提供的默认的拒绝策略有哪些
时间: 2023-10-17 15:05:20 浏览: 83
Java 线程池 8 大拒绝策略,面试必问!.docx
Java线程池提供了四种默认的拒绝策略,它们分别是:
1. AbortPolicy:默认的拒绝策略,抛出一个RejectedExecutionException异常,阻止系统正常运行。
2. CallerRunsPolicy:当队列满时,直接在调用execute方法的线程中运行被拒绝的任务。这种策略不会抛弃任务,但是可能会导致调用execute的线程被过度使用,影响系统的性能。
3. DiscardOldestPolicy:当队列满时,丢弃最早加入队列的任务,并尝试重新提交被拒绝的任务。这种策略能够保证不会抛出异常,但是可能会导致一些任务被丢弃,影响系统的功能。
4. DiscardPolicy:当队列满时,直接丢弃被拒绝的任务,不予任何处理。这种策略可以保证不会抛出异常,但是可能会导致一些重要任务被丢弃,影响系统的功能。
阅读全文