我們正在使用通過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