3
すべてのオブジェクトをメモリにロードせずにスカラーで並列にストリームを実行する方法はありますか?scala lazy parallel collection(可能ですか?)
注:パーメソッドを使用して、一般的にメモリ
val list = "a"::"b"::"c"::"d"::"e"::Nil //> list: List[String] = List(a, b, c, d, e)
val s = list.toStream //> s: scala.collection.immutable.Stream[String] = Stream(a, ?)
val sq = s.par //> sq: scala.collection.parallel.immutable.ParSeq[String] = ParVector(a, b, c, d, e)
sq.map { x => println("Map 1 "+x);x }
.map { x => println("Map 2 "+x);x}
.map { x => println("Map 3 "+x);x }
.foreach { x => println("done "+x)}
は不可能サウンド:「、リスト、キューなどの他のコレクションを、またはストリームは、要素が次々にアクセスされなければならないという意味で本質的に連続している。これらのコレクションは、要素_を類似の並列コレクションにコピーすることによって、パラレルバリアントに変換されます。 "http://docs.scala-lang.org/overviews/parallel-collections/conversions.html –
あなたの質問はかなり曖昧です。私はあなたの質問に答えると思っていますが、より具体的なユースケースを考えていると思います。 – Rich