我正在使用par.map
表達式在Scala(SBT)中並行執行進程。如何在Scala中用.par控制並行進程的數量?
考慮list.par.map(function(_))
(我正在準備MWE)。這意味着function(_)
應以並行方式應用於list
的所有元素。在我的例子中,list
有3個元素。但是斯卡拉並行執行只有function(list(1))
和function(list(2))
,並且只能在function(list(3))
之後執行。
是否有這種行爲的原因?與程序在雙核處理器上執行的事實有關係嗎?或者你如何強制並行執行所有三件事?
http://www.scala-lang.org/api/current/scala/collection/parallel/immutable/ParRange.html#tasksupport_=(ts:scala.collection.parallel.TaskSupport):Unit –
可能的重複項[斯卡拉平行集合並行度](http://stackoverflow.com/questions/5424496/scala-parallel-collections-degree-of-parallelism) – Andrey