新手这里...
我在域对象集合上有一个非常简单的可调用对象。在使用 future 时,我关心的是真正知道所有 future 何时完成。
所以我正在创建一个 futures 集合,遍历我的域对象,创建一个 future(带有可调用对象)并将其添加到 futures 集合中。
假设可调用函数返回一个 boolean 值,我如何确定所有的 future 都已完成。
哦!我想等到处理完这个集合后再处理另一个集合,因为第二个收集过程依赖于第一个。
感谢任何帮助。
不同的说法: 我怎样才能等待数组的所有项目完成?我是否必须迭代并等待每个?
ArrayList<Future<Object>> responses = new ArrayList<Future<Object>>();
PS:在 JAVA 中编码,也对 PartialFunctions 等的使用感到困惑,关于可能应用过滤器、计数和比较集合大小作为可能的解决方案...
最佳答案
好的 - 通过执行以下操作解决了它:
Await.result(seq, Duration.create("5 seconds"));
在哪里
Future<Iterable<Boolean>> seq = Futures.sequence(futures, ec);
和futures
是 future 的集合,即 ArrayList<Future<Boolean>>
.
关于java - Akka future list - 如何等待 future list 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17413883/