java - ThreadPoolExecutor 拒绝错误

标签 java multithreading

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

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 - ThreadPoolExecutor 拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28470218/

相关文章:

java - 确定变量类型

ios - 在后台线程中创建 View Controller

Java:海量数据的多线程:线程间共享数据?

java - Java 1.5 有 fork join 框架的 backport-util 吗?

.net - 如何在ASP.NET MVC应用程序中的线程上放置代码?

java - 通过处理程序消息以最少的分配传递数组的副本?

java - 我应该如何序列化域模型快照以进行事件溯源

java - GATT 特性不改变值

java - Equinox java.lang.NoClassDefFoundError

java - 排序器更改行顺序后如何更新 JTableModel?