CompletableFuture producer.thenRunAsync
时间: 2024-05-18 08:09:39 浏览: 154
CompletableFuture是Java 8引入的一种异步编程机制,可以通过CompletableFuture来实现异步任务的执行和结果的获取。而producer.thenRunAsync则是一个CompletableFuture的方法,表示在producer完成后异步执行一个任务。具体来说,它会返回一个新的CompletableFuture,当producer完成后会自动执行指定的任务。需要注意的是,thenRunAsync并不会使用原始任务的结果。
下面是一个示例代码:
```
CompletableFuture<String> producer = CompletableFuture.supplyAsync(() -> {
// 模拟一个耗时的操作
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "hello";
});
CompletableFuture<Void> consumer = producer.thenRunAsync(() -> {
System.out.println("producer完成后执行");
});
consumer.get(); // 等待consumer执行完毕
```
以上代码中,producer会异步执行一个耗时的操作,并返回一个字符串结果。然后我们通过thenRunAsync方法,在producer完成后异步执行一个输出语句的任务。最后,我们等待consumer执行完毕。
阅读全文