Как вызвать завершаемое будущее в цикле и объединить все результаты?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»