java8 CompletableFuture使用示例
下面是一个使用CompletableFuture的例子,其中我们将使用CompletableFuture来执行两个异步任务并将它们的结果组合起来:
import java.util.concurrent.CompletableFuture;
public class CompletableFutureExample {
public static void main(String[] args) {
// 异步任务1,返回字符串 "Hello"
CompletableFuture<String> future1 = CompletableFuture.supplyAsync(() -> "Hello");
// 异步任务2,返回字符串 "World"
CompletableFuture<String> future2 = CompletableFuture.supplyAsync(() -> "World");
// 组合两个异步任务的结果
CompletableFuture<String> combinedFuture = future1
.thenCombine(future2, (result1, result2) -> result1 + " " + result2);
// 输出结果 "Hello World"
System.out.println(combinedFuture.join());
}
}
在这个例子中,我们使用CompletableFuture.supplyAsync()方法来创建两个异步任务,它们会分别返回字符串"Hello"和"World"。然后,我们调用thenCombine()方法将这两个异步任务的结果组合起来,使用lambda表达式来指定组合的方式。最后,我们调用join()方法来等待异步任务完成并返回它们的结果。
这个例子只是CompletableFuture的一个简单示例,实际上CompletableFuture可以执行更复杂的操作,例如组合多个异步任务的结果,等待任意一个异步任务完成等等
原文地址: https://www.cveoy.top/t/topic/fHt1 著作权归作者所有。请勿转载和采集!