nan*_*no7 20 java multithreading exception callable executorservice
我使用ExecutorServicefrom Java来协调Threads.用于启动我使用的线程
pool = new ExecutorService(2);
callableResults = pool.invokeAll(threads);
Run Code Online (Sandbox Code Playgroud)
为了收集结果,我使用future.get()每个线程."threads"是实现Callable和覆盖的类中的对象列表call().
现在我遇到了以下问题.该方法call()确实抛出了各种特定的异常.invokeAll()并且future.get()只投掷InterruptedException.
我在哪里可以捕获我投入的具体例外情况call()?或者我必须在那里处理它们?如果抛出其中一个异常,那么结果是InterruptedException?
Tom*_*icz 32
如果过去提供了可调用的抛出异常,java.util.concurrent.Future.get()则抛出AFAIR ExecutionException(异常存储在该异常中Future).
尝试检索通过抛出异常而中止的任务的结果时抛出异常.可以使用该
Throwable.getCause()方法检查此异常.
| 归档时间: |
|
| 查看次数: |
29561 次 |
| 最近记录: |