scala parallel-processing parallel-collections

¿Las colecciones paralelas de Scala garantizarán el pedido?



parallel-processing parallel-collections (2)

Las colecciones paralelas mantienen todos los contratos de sus equivalentes no paralelos.

En las colecciones en las que una operación de map conserva el orden, como la List , el map paralelo también conservará el orden. En las colecciones en las que el map no conserva el orden, como Set , el orden no se conservará en la versión paralela.

Con las colecciones desordenadas, no hay garantía de que el resultado de una operación paralela tenga el mismo orden de recorrido que su equivalente no paralelo.

Si tengo esto:

val a = Array(...)

y escribo

a.par.map(e => someFunc(e))

¿La colección resultante estará en el mismo orden que la colección no paralela?


Sí, pero la función en sí se ejecuta sin ningún orden en particular.

List(1,2,3).par foreach print // could print out 213