列表<ComputableFuture<T>> 到 CompletableFuture<List<T>>
List<ComputableFuture<T>> to ComputableFuture<List<T>>
给定一个 futures 集合,例如 list>,我们如何将它们合并到一个 futures map 中,而不会在 Kotlin 中阻塞。
我无法使用 get 或 join..
澄清我想做什么:
T 的可完成未来清单
具有 T 列表的可计算未来。
我想你可以使用这样的东西:
val futures: List<CompletableFuture<Int>> = (1..10).map { CompletableFuture.supplyAsync { it } }
val results: CompletableFuture<List<Int>> = CompletableFuture.allOf(*futures.toTypedArray())
.thenApply { futures.map { it.join() } }
给定一个 futures 集合,例如 list>,我们如何将它们合并到一个 futures map 中,而不会在 Kotlin 中阻塞。 我无法使用 get 或 join..
澄清我想做什么: T 的可完成未来清单 具有 T 列表的可计算未来。
我想你可以使用这样的东西:
val futures: List<CompletableFuture<Int>> = (1..10).map { CompletableFuture.supplyAsync { it } }
val results: CompletableFuture<List<Int>> = CompletableFuture.allOf(*futures.toTypedArray())
.thenApply { futures.map { it.join() } }