Как вызвать завершаемое будущее в цикле и объединить все результаты?JAVA

Программисты JAVA общаются здесь
Anonymous
Как вызвать завершаемое будущее в цикле и объединить все результаты?

Сообщение Anonymous »

Я пытаюсь добиться чего-то подобного. Это выдуманный пример, выражающий намерение.
Я хочу, чтобы все завершаемые фьючерсы выполнялись, объединяли все свои результаты в один результат и возвращали его. Итак, в приведенном ниже примере коллекция 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

Вернуться в «JAVA»