【问题标题】:ThreadPoolExecutor rejected errorThreadPoolExecutor 拒绝错误
【发布时间】:2015-02-12 05:48:00
【问题描述】:

以下错误是什么意思?我怎样才能恢复它?

Exception in thread "UserActionProcessor-8811" java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@56624074 rejected from java.util.concurrent.ThreadPoolExecutor@5fd03556[Running, pool size = 300, active threads = 300, queued tasks = 2000, completed tasks = 7979]
        at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2048)
        at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
        at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:110)

【问题讨论】:

    标签: java multithreading


    【解决方案1】:

    这意味着线程池很忙,队列也已满。然后拒绝该任务。如果您不希望任何任务被拒绝,我认为您应该实施拒绝政策。

    【讨论】:

      【解决方案2】:

      您超过了并行运行的最大任务数 (300) 和等待开始执行的最大任务数 (2000)。您的执行服务无法处理那么多任务或提交的任务太耗时。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-14
        • 2012-07-17
        • 1970-01-01
        • 2011-10-15
        • 2020-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多