CSharp Cheat sheet

Tu guía rápida para programar en C#

Parallel.For en C#

Parallel.For permite ejecutar bucles for en paralelo, dividiendo las iteraciones en múltiples hilos para aprovechar varios núcleos de CPU. Es útil para tareas de cálculo intensivo que pueden dividirse de forma independiente.

Ejemplo básico

Aquí se muestra cómo procesar elementos en paralelo.

Parallel.For(0, 10, i => {
    Console.WriteLine($"Índice: {i}, Hilo: {Thread.CurrentThread.ManagedThreadId}");
});
    

Cada iteración puede ejecutarse en un hilo diferente, acelerando el procesamiento.

Consideraciones importantes

El cuerpo del bucle debe ser thread-safe, es decir, no debe haber problemas de concurrencia. Evita modificar variables compartidas sin sincronización.

Buenas Prácticas

Usa Parallel.For cuando las iteraciones sean independientes. Controla el grado de paralelismo si es necesario. Usa mecanismos como locks o ConcurrentBag para datos compartidos. Evalúa siempre si el coste de sincronización anula el beneficio del paralelismo.

Ver también

Documentación oficial de Microsoft

Ver más en Microsoft Docs