6
假設我需要在Scala中執行一些並行任務。每個任務執行一些阻止呼叫(例如Process.waitFor
)。現在我想等到任何任務完成。等待Scala中的任何特定期貨?
據我所知,我應該使用Scala Future
來包裝任務。 Scala中是否有任何API等待任何給定的Futures
完成?
假設我需要在Scala中執行一些並行任務。每個任務執行一些阻止呼叫(例如Process.waitFor
)。現在我想等到任何任務完成。等待Scala中的任何特定期貨?
據我所知,我應該使用Scala Future
來包裝任務。 Scala中是否有任何API等待任何給定的Futures
完成?
有這樣做的內建方法:
Future.firstCompletedOf(yourFutures)
返回一個未來的是 完成列表中的第一個未來的結果。
請注意,這不會中斷所有其他期貨,因此如果需要,您可以自行取消它們。