CompletableFuture.allOf
时间: 2023-10-28 09:32:03 浏览: 193
CompletableFuture.allOf 是什么?
CompletableFuture.allOf 是一个静态方法,它接受一组 CompletableFuture 对象并返回一个新的 CompletableFuture 对象,该对象在传递给 allOf 方法的所有 CompletableFuture 对象都完成后完成。这种方法通常用于并行执行多个异步任务并等待它们全部完成。
相关问题
CompletableFuture.allOf 用法
CompletableFuture.allOf()是Java 8中的一个方法,它允许你同时等待多个 CompletableFuture 完成。它的用法如下:
```java
CompletableFuture<Void> allFutures = CompletableFuture.allOf(future1, future2, future3);
```
在这里,`future1`, `future2`, `future3` 是三个不同的 CompletableFuture 对象。当你调用 `allOf()` 方法时,它返回一个新的 CompletableFuture 对象 `allFutures`。这个新的 CompletableFuture 对象将会在所有的 `future1`, `future2`, `future3` 完成后执行。
当所有 CompletableFuture 都完成后,你可以使用 `thenAccept()` 方法指定一个回调函数,以处理这些 CompletableFuture 的结果。例如:
```java
allFutures.thenAccept(v -> System.out.println("All futures completed!"));
```
这个回调函数将在所有的 CompletableFuture 都完成后被执行,它将会打印 "All futures completed!"。
CompletableFuture.allOf(
CompletableFuture.allOf() 方法是一个静态方法,它接受一个 CompletableFuture 数组作为参数,并返回一个新的 CompletableFuture,该 CompletableFuture 在所有输入 CompletableFuture 完成后完成。这个方法通常用于等待多个异步任务全部完成后再执行下一步操作。
例如,以下代码创建了两个 CompletableFuture 对象,然后使用 allOf() 方法等待它们都完成后输出结果:
```
CompletableFuture<String> future1 = CompletableFuture.supplyAsync(() -> "Hello");
CompletableFuture<String> future2 = CompletableFuture.supplyAsync(() -> "World");
CompletableFuture<Void> allFutures = CompletableFuture.allOf(future1, future2);
allFutures.join();
System.out.println(future1.get() + " " + future2.get());
```
输出结果为:Hello World。
阅读全文