千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > java中CompletableFuture方式是什么

java中CompletableFuture方式是什么

来源:千锋教育
发布人:qyf
时间: 2022-08-09 14:34:38 1660026878

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程序员梦想。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT