我们正在使用通过ExecutorService#newCachedThreadPool创建的CachedThreadPool。 (Java 1.6)。我们在代码中的其他地方发现错误:“无法创建新的本地线程”,我们诊断为内存不足问题。当这个问题发生时,我们调用提交的代码块(我们使用提交,不执行)会变慢。我们怀疑ThreadPool在尝试创建新线程来处理任务时遇到了“无法创建新的本地线程”的相同问题,但我们无法确定。从(ExecutorService)捕获异常CachedThreadPool
有没有办法赶上从ExecutorService的内部异常? 为了100%清楚,我不是在谈论给予ExecutorService的任务,而是从ExecutorService本身。
也许你应该做一个线程转储和看到所有的线程会。这不应该发生。 – 2013-04-10 23:25:31
这绝对是一个系统负载问题。我得到它不应该去。这是由于下游的依赖性失败以及我们在我们这边尝试了逻辑。线程全部排队等待重试。 – 2013-04-11 21:14:19