建立和使用並行集合

要從順序集合建立並行集合,請呼叫 par 方法。要從並行集合建立順序集合,請呼叫 seq 方法。此示例顯示如何將常規 Vector 轉換為 ParVector,然後再返回:

scala> val vect = (1 to 5).toVector
vect: Vector[Int] = Vector(1, 2, 3, 4, 5)

scala> val parVect = vect.par
parVect: scala.collection.parallel.immutable.ParVector[Int] = ParVector(1, 2, 3, 4, 5)

scala> parVect.seq
res0: scala.collection.immutable.Vector[Int] = Vector(1, 2, 3, 4, 5)

par 方法可以連結,允許你將順序集合轉換為並行集合並立即對其執行操作:

scala> vect.map(_ * 2)
res1: scala.collection.immutable.Vector[Int] = Vector(2, 4, 6, 8, 10)

scala> vect.par.map(_ * 2)
res2: scala.collection.parallel.immutable.ParVector[Int] = ParVector(2, 4, 6, 8, 10)

在這些示例中,工作實際上被分配到多個處理單元,然後在工作完成後重新加入 - 無需開發人員干預。