CompletableFuture.thenAccept()使用实例
时间: 2024-06-18 14:01:36 浏览: 165
`CompletableFuture.thenAccept()`是Java 8中`CompletableFuture`接口中的一个方法,用于在完成Future操作后立即接受(accept)给定的结果。这个方法通常用在异步编程中,当你有一个计算任务,完成后希望执行某个副作用操作,如打印结果、更新UI状态等。
以下是一个简单的使用实例:
```java
import java.util.concurrent.CompletableFuture;
public class CompletableFutureExample {
public static void main(String[] args) {
// 创建一个CompletableFuture,代表一个异步计算任务
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000); // 模拟耗时操作
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Task completed with result: Hello World";
});
// 使用thenAccept方法,当future完成时,立即接受并打印结果
future.thenAccept(result -> {
System.out.println("Future completed with result: " + result);
});
// 主线程继续执行,不会阻塞
}
}
```
在这个例子中,主线程不会等待异步任务完成,而是在任务完成后立即打印出结果。如果你需要根据结果执行不同的操作,你可以传入一个lambda表达式,这个表达式会作为参数传递给`thenAccept`。
阅读全文