2
私は機能今Scalaは、並列の二つの機能
def myfunc(l: List[RoseTree]): Option[RoseTree] = {
//Complex calculations
}
の次の宣言を持っているに実行し、私は2つの巨大な異なるリストにこの機能を実行する必要があります。だから、私は、異なるデータを使って、同じ機能を並行して実行したいと考えています。
私はScalaのFutureモジュールを見てきました。
しかし、いずれかの関数が "Some(RoseTree)"を返すときは、もう一方の呼び出しが停止して結果を保持するように指示します。これは可能ですか?
敬具。
私はこの関数が残りの先物をキャンセルするとは思わない。 –
良い点。 Monixタスクは実際にはより自然にこのユースケースをサポートします:https://monix.io/docs/2x/eval/task.html#choose-first-of-list –
未来はタスクではありません。 (つまり、実行中の計算を表していません) –