热门IT资讯网

java中的CompletableFuture怎么用

发表于:2024-11-23 作者:热门IT资讯网编辑
编辑最后更新 2024年11月23日,这篇"java中的CompletableFuture怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面

这篇"java中的CompletableFuture怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"java中的CompletableFuture怎么用"文章吧。

说明

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);  } }

以上就是关于"java中的CompletableFuture怎么用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

0