我的意思是给个CompletableFuture使用的demo
时间: 2024-09-21 21:03:16 浏览: 32
`CompletableFuture` 是Java 8引入的一个用于处理异步计算的工具类,它提供了一种线程安全的方式来进行并行或并发操作。下面是一个简单的 `CompletableFuture` 使用示例:
```java
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
public class CompletableFutureDemo {
public static void main(String[] args) throws ExecutionException, InterruptedException {
// 创建一个CompletableFuture对象,代表一个异步任务
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
Thread.sleep(2000); // 模拟耗时操作
return "Future result";
});
// 当异步任务完成时,我们可以获取结果
String result = future.get(); // 这里会阻塞主线程,直到任务完成
System.out.println("Result: " + result);
}
}
```
在这个例子中,我们创建了一个 `supplyAsync` 方法返回的 `CompletableFuture`,它会在后台线程上执行一段延迟2秒的任务。`get()` 方法会被阻塞,直到任务完成并返回结果。
阅读全文