У меня есть несколько завершаемых фьючерсов, созданных как:
CompletableFuture<Void> future1 = CompletableFuture.runAsync(() -> xxx);
CompletableFuture<Void> future2 = CompletableFuture.runAsync(() -> xxx);
List<CompletableFuture<Void>> futures = Lists.newArrayList(future1, future2);
Когда я запускаю ниже, эти две будущие задачи выполняются параллельно? Будет ли исключение сгенерировано одним будущим блоком другого?
futures.forEach(CompletableFuture::join);