多线程 – 等待Scala中任何给定的期货?

前端之家收集整理的这篇文章主要介绍了多线程 – 等待Scala中任何给定的期货?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我需要在 Scala中执行一些并行任务.每个任务都执行一些阻塞调用(例如Process.waitFor).现在我想等到任何任务完成.

据我所知,我应该使用Scala Future来包装任务. Scala中是否有任何API等待任何给定的期货结束?

解决方法

有这样做的内置方法
Future.firstCompletedOf(yourFutures)

from the doc

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

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

猜你在找的Java相关文章