在此测试场景中,提交的任务(线程)数量也不多.
And*_*yle 30
您需要提供您如何实例化和调用代码样本submit的池(IP应该是一个非问题这里我们不需要你的内部细节Callable类或类似的东西).
根据您提供的信息,您几乎肯定会在向其提交可调用对象之前关闭执行程序服务.检查是否对shutdown或进行了任何调用shutdownNow,如果是,请确保在此之后不再添加任务.
除此之外,您可能希望注册自己的实现java.util.concurrent.RejectedExecutionHandler以帮助调试; 只要执行程序无法接受任务,就会调用其rejectedExecution消息,因此您可以在其中放置一些基本的状态检查逻辑来帮助您找到原因.
akf*_*akf 25
我没有看到调用抛出Executors.newCachedThreadPool()a 的方法的任何地方RejectedExecutionException.只有三种情况似乎在Java 6中抛出:
execute()a时ThreadPoolExecutor,已达到最大池大小.execute()给a ThreadPoolExecutor时shutdownNow,并且基本上已经失去了比赛shutdownNow.ScheduledThreadPoolExecutor关闭后尝试在a中执行runnable时.