Java CompletableFuture : Trying to run two void methods as CompletableFuture and block until both complete

标签 java completable-future

我试图异步运行两个 void method1 和 method2,然后阻止代码,直到这两个方法都完成。

这能达到这个目的吗?

      CompletableFuture<Void> future1 = CompletableFuture.runAsync(() -> method1());
      CompletableFuture<Void> future2 = CompletableFuture.runAsync(() -> method2());
      CompletableFuture.allOf(future1, future2).join();

最佳答案

我认为代码 CompletableFuture.allOf(future1, future2).join(); 应该可以正常工作。您可以尝试一下吗,有什么问题吗?

或者你可以使用类似的东西:

  Arrays.asList(future1,future1).forEach(Future::get);

关于Java CompletableFuture : Trying to run two void methods as CompletableFuture and block until both complete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64892731/

相关文章:

java - ArrayList仅存储最后读取的值

java - 多线程时 onClick 随机不被调用

java - 使用可完成 future 的实体的流程列表

java - 如何收集顺序调用异步 API 的结果?

java - 使用 java commons-imaging 访问 jpeg 标签

java - 在 Java 中识别和处理锁定线程的最佳方法

java - 完成 future : Why we need stages at all?

java - 如何在 Mockito 中模拟 CompletableFuture 的完成

java - 当同一部分被调用两次时,CompletableFuture 的 "SupplyAsync"部分会发生什么

java - 自定义流媒体实现