multithreading - 等待斯卡拉的任何指定 future 吗?

标签 multithreading scala future

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

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

最佳答案

有内置的方法可以做到这一点:

Future.firstCompletedOf(yourFutures)

from the doc:

Returns a Future to the result of the first future in the list that is completed.



请注意,这不会中断所有其他 future ,因此您可以根据需要自行取消它们。

关于multithreading - 等待斯卡拉的任何指定 future 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950430/

相关文章:

asynchronous - Flutter: future 和共同偏好

c# - 如何在C#中访问UI线程

java - 根据尖括号拆分字符串?

java - Java/Scala 中无效的 ZoneDateTime 解析

multithreading - 如何保证akka中fork的顺序

c++ - 将来尝试引用已删除的函数

java - 是否有静态分析工具可以自动检查 Java 项目中的竞争条件?

multithreading - 将消息发布到之前未显示的框架后应用程序挂起

java - 为什么不同步运行方法java?

scala - 通过传递变量将 SET<String> 插入 cassandra