Does Scala provide a way to execute parallel map operations as part of the standard language?
For example, given:
scala> val a = List((1,2), (3,4), (3,6))
a: List[(Int, Int)] = List((1,2), (3,4), (3,6))
I can do:
scala> a.map(tup => tup._1 + tup._2)
res0: List[Int] = List(3, 7, 9)
However, to the best of my knowledge this maps the provided function over the list objects sequentially. Is there a built-in way to have the function applied to each element in a separate thread (or equivalent), and the results then gathered into a resulting list?