java中的CompletableFuture怎么用
作者:WarmHope
时间:2023-04-28
浏览:0
说明1、JDK8中引入了CompletableFuture类,实现了Future和CompletionStage接口.为异步编程提供了一些列方法,如supplyAsync、runAsync和thenApplyAsync等。2、功能是可以让两个或者多个进行运算来产生结果。实例/***@authormghio*@since2021-08-01*/publicclassCompletableFutureDemo{publicstaticCompletableFuturedoOneThing(){returnCo
说明
1、JDK 8中引入了 CompletableFuture 类,实现了Future和CompletionStage接口.
为异步编程提供了一些列方法,如supplyAsync、runAsync和thenApplyAsync等。
2、功能是可以让两个或者多个进行运算来产生结果。
实例
/**
* @author mghio
* @since 2021-08-01
*/
public class CompletableFutureDemo {
public static CompletableFuture doOneThing() {
return CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "doOneThing";
});
}
public static CompletableFuture doOtherThing(String parameter) {
return CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return parameter + " " + "doOtherThing";
});
}
public static void main(String[] args) throws ExecutionException, InterruptedException {
StopWatch stopWatch = new StopWatch("CompletableFutureDemo");
stopWatch.start();
// 异步执行版本
testCompletableFuture();
stopWatch.stop();
System.out.println(stopWatch);
}
private static void testCompletableFuture() throws InterruptedException, ExecutionException {
// 先执行 doOneThing 任务,后执行 doOtherThing 任务
CompletableFuture resultFuture = doOneThing().thenCompose(CompletableFutureDemo::doOtherThing);
// 获取任务结果
String doOneThingResult = resultFuture.get();
// 获取执行结果
System.out.println("DoOneThing and DoOtherThing execute finished. result = " + doOneThingResult);
}
}
作者最新文章
Photoshop自定义图层样式的保存、导入与管理技巧
2026-10-05 14:17
Photoshop蒙版在哪里调出来?蒙版按钮位置及使用教程
2026-09-29 09:53
Photoshop图层阵列怎么做?复制多个图层并整齐排列
2026-09-22 16:42
3dmax动画技巧总结:动画制作步骤与渲染视频教程
2026-09-22 14:47
在线PDF转TXT操作步骤与乱码排查指南
2026-09-04 13:02
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































