6

假设我需要在 Scala 中执行一些并行任务。每个任务执行一些阻塞调用(例如Process.waitFor)。现在我想等到任何任务完成。

据我了解,我应该使用 ScalaFuture来包装任务。Scala中是否有任何API要等到任何给定的Futures完成?

4

1 回答 1

13

有这样做的内置方法:

Future.firstCompletedOf(yourFutures)

来自文档

将 Future 返回到列表中已完成的第一个未来的结果。

请注意,这不会中断所有其他期货,因此如果需要,您可以自行取消它们。

于 2013-04-11T13:49:11.350 回答