【发布时间】:2013-09-19 13:13:55
【问题描述】:
我创建了一个可调用的对象,它打印几行并休眠 2 秒。我创建了一个 main 方法,它创建了 10 个可调用的实例并传递给 ExecutorService 的 invokeALL 方法。
service.invokeAll(callableList, 3, SECONDS);
当我迭代返回的未来对象列表时。我收到 CancellationException。
我正在测试所有 future.get() 调用是否会导致 CancellationException 或者只有那些无法完成并被取消的任务。
无论invokeALL中的时间设置如何,我都会得到所有结果或所有CancellationExceptions。
当我调用 future.get() 时,我真的期待至少有一些任务会完成并返回结果。
【问题讨论】:
标签: java multithreading executorservice