completablefuture使用示例
时间: 2023-04-21 17:06:10 浏览: 100
CompletableFuture 是 Java 8 中新增的一种异步编程工具。
示例:
```java
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Hello";
}).thenApply(s -> s + " World");
System.out.println(future.get()); // 输出 "Hello World"
```
这个示例中,supplyAsync 方法用于异步执行一个任务,并返回一个 CompletableFuture 对象。thenApply 方法用于对上一步的结果进行处理,并返回一个新的 CompletableFuture。get 方法用于获取最终的结果。
另一个例子:
```java
CompletableFuture<String> future1 = CompletableFuture.supplyAsync(() -> "Hello");
CompletableFuture<String> future2 = CompletableFuture.supplyAsync(() -> " World");
CompletableFuture<String> combinedFuture = future1.thenCombine(future2, (s1, s2) -> s1 + s2);
System.out.println(combinedFuture.get()); // 输出 "Hello World"
```
这个例子中,使用 thenCombine 方法将两个 CompletableFuture 对象组合起来,并返回一个新的 CompletableFuture 对象。
还有其他的方法可以实现类似的操作,如: thenAccept,thenRun,exceptionally等等。
阅读全文