全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

java中CompletableFuture方式是什么

发布时间:2022-08-09 14:34:38
发布人:qyf

java中CompletableFuture方式是什么

  说明

  1、JDK 8中引入了 CompletableFuture 类,实现了Future和CompletionStage接口.

  为异步编程提供了一些列方法,如supplyAsync、runAsync和thenApplyAsync等。

  2、功能是可以让两个或者多个进行运算来产生结果。

  实例

  /**

  * @author mghio

  * @since 2021-08-01

  */

  public class CompletableFutureDemo {

  public static CompletableFuturedoOneThing() {

  return CompletableFuture.supplyAsync(() -> {

  try {

  Thread.sleep(2000);

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  return "doOneThing";

  });

  }

  public static CompletableFuturedoOtherThing(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 任务

  CompletableFutureresultFuture = doOneThing().thenCompose(CompletableFutureDemo::doOtherThing);

  // 获取任务结果

  String doOneThingResult = resultFuture.get();

  // 获取执行结果

  System.out.println("DoOneThing and DoOtherThing execute finished. result = " + doOneThingResult);

  }

  }

  以上就是java中CompletableFuture方式的介绍,希望对大家有所帮助。更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。

相关文章

Vmlogin是干什么用的?

Vmlogin是干什么用的?

2023-10-14
Tornado的核心是什么?

Tornado的核心是什么?

2023-10-14
ORM解决的主要问题是什么?

ORM解决的主要问题是什么?

2023-10-14
敏捷开发中为什么很少用到Youtrack工具?

敏捷开发中为什么很少用到Youtrack工具?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取