Bucles paralelos paralelos.para cada
Tengo un código que actualmente estoy optimizando para la concurrencia en arquitecturas multinúcleo. En una de mis clases, encontré un anidado.foreach
lazo. Básicamente, el bucle externo recorre una serie deNetworkInterface
objetos. El bucle interno recorre las direcciones IP de las interfaces de red.
Me puse a pensar, es tener anidado.Parallel.ForEach
Bucles necesariamente una buena idea? Después de leer este artículo (Anidados Parallel.ForEach Loops en la misma lista?) Todavía no estoy seguro de qué se aplica en términos de eficiencia y diseño paralelo. Este ejemplo está tomando sobreParallel.Foreach
las declaraciones se aplican a una lista en la que ambos bucles realizan operaciones en esa lista.
En mi ejemplo, los bucles están haciendo cosas diferentes, por lo que debería:
¿Usar bucles anidados Parallel.ForEach?Usuario Parallel.ForEach en el bucle principal y dejar el bucle interno como está?