Estoy tratando de ejecutar funciones paralelas en una lista de objetos usando la nueva función C# 4.0 Parallel.ForEach
. Este es un proceso de mantenimiento muy largo. Me gustaría hacer que se ejecute en el orden de la lista para que pueda detenerme y continuar la ejecución en el punto anterior. ¿Cómo hago esto?Parallel.ForEach Ordered Execution
Aquí hay un ejemplo. Tengo una lista de objetos: a1 to a100
. Este es el orden actual:
a1, a51, a2, a52, a3, a53...
Quiero este orden:
a1, a2, a3, a4...
estoy bien con algunos objetos que se ejecute fuera de orden, pero siempre que puedo encontrar un punto de la lista, donde Puedo decir que todos los objetos antes de este punto se ejecutaron. Leí el documento técnico de programación en paralelo csharp y no vi nada al respecto. No hay una configuración para esto en la clase ParallelOptions
.
Gracias Chris. Probé con PLINQ y eso es suficiente, pero también mantendré una lista de objetos excluidos. –