<T> CompletableFuture
时间: 2024-08-20 09:02:14 浏览: 39
CompletedFuture
`CompletableFuture` 是 Java 中的一个并发工具类,它允许异步编程并提供了一种线程安全的方式来处理未来的结果。它的设计灵感来源于 `Future` 接口,但添加了一些额外的功能,如链式调用(chaining)和方法组合。
**示例演示:**
```java
import java.util.concurrent.CompletableFuture;
// 创建一个完成任务的 CompletableFutuure 对象
CompletableFuture.supplyAsync(() -> {
// 这里执行耗时操作
return "Hello from a separate thread";
}).thenApply(result -> {
// 当原始任务完成后,这个回调会被调用
System.out.println("Result: " + result);
// 返回一个新的 future,用于进一步的操作
return result.toUpperCase();
}).exceptionally(error -> {
// 处理可能出现的异常
System.out.println("An error occurred: " + error.getMessage());
return null;
});
```
在这个例子中,`supplyAsync` 方法启动了一个新的线程来计算结果,然后 `thenApply` 方法接收计算后的结果并进行进一步处理,如果在此过程中抛出了异常,`exceptionally` 方法会捕获它。
阅读全文