0

次のコードは、次putStrLnの理由により、効果を並行して実行することになっていmapMParます。

val runtime = zio.Runtime.default
val foo = ZIO.sleep(5.second) *> ZIO("foo")
val bar = ZIO("bar")

val k = ZStream.fromEffect(foo) ++ ZStream.fromEffect(bar)
val r = k.mapMPar(3)(x => console.putStrLn(s"Processing `${x}`"))

runtime.unsafeRun(r.runDrain)

しかし実際には、何があっても常にfoo前に処理されます。bar私は何かを見逃しましたか、それともバグですか?

4

1 に答える 1