Я пытаюсь добиться чего-то подобного. Это выдуманный пример, выражающий намерение.
Я хочу, чтобы все завершаемые фьючерсы выполнялись, объединяли все свои результаты в один результат и возвращали его. Итак, в приведенном ниже примере коллекция allResults должна содержать строки «один», «два», «три» по 3 раза каждая. Я хочу, чтобы все они работали параллельно, а не последовательно.
Любые указания на то, какой API в завершенном будущем я мог бы использовать для достижения этой цели, были бы очень полезны.
public class Main {
public static void main(String[] args) {
int x = 3;
List allResuts;
for (int i = 0; i < x; i++) {
//call getCompletableFutureResult() and combine all the results
}
}
public static CompletableFuture getCompletableFutureResult() {
return CompletableFuture.supplyAsync(() -> getResult());
}
private static List getResult() {
List list = new ArrayList();
list.add("one");
list.add("two");
list.add("three");
return list;
}
}
Подробнее здесь: https://stackoverflow.com/questions/465 ... he-results