【发布时间】:2010-09-29 07:28:37
【问题描述】:
在我的应用程序中,我经常使用 ExecutorService 进行异步调用。
ExecutorService executorService = Executors.newFixedThreadPool(10);
只有当应用程序(基于 Web)关闭时,我才会关闭 executorService。最近在调试一些问题时,我正在查看这段代码,想知道在程序执行过程中是否存在强制关闭 ExecutorService 并重新启动它的情况,即新的池线程集。所以我想知道哪些典型场景/意外的应用程序行为会迫使我这样做?
我检查的典型异常是ExecutionException, InterruptedException, CancellationException,但除了记录它们之外我没有做太多事情。
【问题讨论】:
-
你是在问服务是否有抛出异常提示你需要“重启”它?或者您是否在问是否有在外部应用程序行为期间需要重新启动执行程序服务的情况?您是否看到似乎表明执行程序服务中的线程不再运行的行为?
标签: java multithreading concurrency