首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么Executors.newCachedThreadPool在提交时抛出java.util.concurrent.RejectedExecutionException

为什么Executors.newCachedThreadPool在提交时抛出java.util.concurrent.RejectedExecutionException
EN

Stack Overflow用户
提问于 2009-10-05 12:13:44
回答 1查看 16.9K关注 0票数 17

在此测试场景中,提交的任务(线程)数量也不大。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-05 13:09:16

您需要提供代码示例,说明如何在池中实例化和调用submit (IP在这里不是问题,因为我们不需要Callable类的内部细节或类似的细节)。

根据您提供的信息,几乎可以肯定,在将可调用对象提交给executor服务之前,您将在某个地方关闭它。检查您是否调用了shutdownshutdownNow,如果调用了,请确保在此之后不再添加任务。

除此之外,您可能希望注册自己的java.util.concurrent.RejectedExecutionHandler实现,以帮助调试;每当executor无法接受任务时,都会调用它的rejectedExecution消息,因此您可以在那里放置一些基本的状态检查逻辑,以帮助您找到原因。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1519725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档