在我的應用程序中,我使用ExecutorService進行異步調用。在使用ExecutorService時「刷新」固定大小的線程池
ExecutorService executorService = Executors.newFixedThreadPool(10);
我只在應用程序(基於web)關閉時關閉executorService。最近在調試一些問題時,我正在查看這段代碼,並想知道當我強制關閉ExecutorService並重新啓動它時,在程序執行過程中是否會出現這種情況,即新的池式線程集。所以我想知道典型的場景/意想不到的應用行爲會迫使我這樣做?
我檢查的典型例外是ExecutionException, InterruptedException, CancellationException
,但除記錄它們之外,我沒有做太多的工作。
你問是否有服務引發的異常表明你需要「重新啓動」它嗎?或者你是否問過在外部應用程序行爲期間是否需要重新啓動執行程序服務?你是否看到似乎表明執行程序服務中的線程不再運行的行爲? – Gray 2010-09-29 15:00:35