小编Roy*_*zer的帖子

创建已完成的CompletableFuture <Void>的正确方法是什么

我在java 8中使用Completable future我想编写一个方法,根据接收到的参数,并行运行带有副作用的多个任务然后返回它们的"组合"未来(使用CompletableFuture.allOf()),或者什么都不做并返回一个已经完成的未来.

但是,allOf返回一个CompletableFuture<Void>:

public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs)
Run Code Online (Sandbox Code Playgroud)

并且创建已经完成的未来的唯一方法就是使用completedFuture(),它需要一个值:

public static <U> CompletableFuture<U> completedFuture(U value)
Run Code Online (Sandbox Code Playgroud)

返回已使用给定值完成的新CompletableFuture.

并且Void是不可实现的,所以我需要另一种方法来创建已经完成的类型未来CompletableFuture<Void>.

做这个的最好方式是什么?

java concurrency java-8 completable-future

13
推荐指数
2
解决办法
4510
查看次数

标签 统计

completable-future ×1

concurrency ×1

java ×1

java-8 ×1