#Java 基础# 线程池的四大拒绝策略

150 阅读1分钟

AbortPolicy

  • 队列满了,抛出异常 RejectedExecutionException

DiscardPolicy

  • 队列满了,直接抛弃,不抛异常

DiscardOldestPolicy

  • 抛弃队列里存活时间最长的任务,腾出空间给新任务

CallerRunsPolicy

  • 哪里来的回哪里去,就是把任务交回给提交任务的线程执行
    • 如 main 线程提交一个线程,如果线程池的队列满了,就把任务让 main 来执行