等待Java执行器至少返回一个结果,不要忙等待

3
我有一份Future任务清单。
   futureList.add(executor.submit(new Callable(someList)));

当这些任务在执行时,我希望能够获取其结果。但是如果一直循环检查futuretask是否完成并获取其结果,这样做效率很低。有没有更好的方法呢?

for (int i = 0; i < futureList.size(); i++) {
                    if (futureList.get(i).isDone()) {
    .....
}}

我考虑过创建一些额外的通知-等待结构,但仍然需要知道哪个线程已经完成,以便不必一直循环查找。你有什么建议吗?

1个回答

7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接