Estoy un poco confundido acerca de Parallel.ForEach.
¿Qué es Parallel.ForEachy qué hace exactamente?
No haga referencia a ningún enlace de MSDN.
Aquí hay un ejemplo simple:
string[] lines = File.ReadAllLines(txtProxyListPath.Text);
List<string> list_lines = new List<string>(lines);
foreach (string line in list_lines)
{
//My Stuff
}
¿Cómo puedo reescribir este ejemplo con Parallel.ForEach?
c#
multithreading
.net-4.0
parallel.foreach
SilverLight
fuente
fuente

Parallelclase y el uso de PLINQ.foreach. La diferencia es que la versión paralela puede hacer muchas "acciones" al mismo tiempo. En la mayoría de los casos (dependiendo de qué computadora está ejecutando el código, y qué tan ocupado está, y otras cosas) será más rápido, y esa es la ventaja más importante. Tenga en cuenta que cuando lo hace en paralelo, no puede saber en qué orden se procesan los artículos. Con un habitual (en serie)foreach, tiene la garantía de quelines[0]es lo primero, luegolines[1], y así sucesivamente.Respuestas:
fuente
List<T>;)Bucle Foreach:
Paralelo para cada uno:
El siguiente ejemplo demuestra claramente la diferencia entre el bucle foreach tradicional y
Parallel.ForEach () Ejemplo
Salida
Usando Parallel.ForEach ejemplo
fuente
Esto hará que las líneas se analicen en paralelo, dentro del bucle. Si desea una introducción más detallada y menos "orientada a la referencia" a la clase Paralelo, escribí una serie sobre el TPL que incluye una sección sobre Parallel.ForEach .
fuente
Para archivos grandes, use el siguiente código (tiene menos memoria)
fuente
Estas líneas me funcionaron.
fuente