CompletableFuture. supplyAsync对象怎么获取
时间: 2024-08-15 16:01:51 浏览: 45
Java组合式异步编程CompletableFuture.pdf
`CompletableFuture.supplyAsync`是一个工厂方法,它用于创建一个新的异步完成任务。这个方法接受一个函数作为参数,该函数将在单独的线程上执行,并将结果封装到返回的`CompletableFuture`对象中。当你需要在后台线程上计算某个值并提供给主线程使用时,通常会用到这个方法。
例如,在Java中,你可以这样做:
```java
import java.util.concurrent.CompletableFuture;
public CompletableFuture<String> fetchData() {
// 这里的code会在另一个线程上执行
String data = doExpensiveNetworkCall();
return CompletableFuture.supplyAsync(() -> data);
}
// 主线程可以像这样获取数据并处理结果
CompletableFuture<String> future = fetchData();
future.thenAccept(result -> processData(result));
```
在这个例子中,`fetchData()`方法返回的是一个`CompletableFuture`,表示一个在未来某个时刻可用的数据。当网络请求完成后,`supplyAsync`方法会自动更新`future`的状态,然后`thenAccept`回调会被触发,以便主线程处理返回的结果。
阅读全文