Programación paralela en .NET Framework

Muchos equipos y estaciones de trabajo tienen dos o cuatro núcleos (es decir, CPU) que permiten ejecutar varios subprocesos simultáneamente. Se espera que los equipos en un futuro cercano tengan significativamente más núcleos. Para aprovecharse del hardware de hoy y del mañana, puede paralelizar el código para distribuir el trabajo entre varios procesadores. En el pasado, la paralelización requería manipulación de bajo nivel de los subprocesos y bloqueos. Visual Studio 2010 y .NET Framework 4 mejoran la compatibilidad para la programación paralela proporcionando un nuevo runtime, nuevos tipos de biblioteca de clases y nuevas herramientas de diagnóstico. Estas características simplifican el desarrollo en paralelo, de modo que pueda escribir código paralelo eficaz, específico y escalable de forma natural sin tener que trabajar directamente con subprocesos ni el bloque de subprocesos. La siguiente ilustración proporciona una información general de alto nivel de la arquitectura de programación paralela en .NET Framework 4.

Arquitectura de programación en paralelo de .NET

Temas relacionados

Tecnología

Descripción

Task Parallel Library

Proporciona documentación para la clase System.Threading.Tasks.Parallel, que incluye versiones paralelas de For y bucles ForEach, y también para la clase System.Threading.Tasks.Task, que representa la manera preferida de expresar las operaciones asincrónicas.

Parallel LINQ (PLINQ)

Una implementación paralela de LINQ to Objects que significativamente mejora el rendimiento en muchos casos.

Estructuras de datos para la programación paralela

Proporciona vínculos a documentación sobre las clases de colección seguras para subprocesos, tipos de sincronización ligeros y tipos para la inicialización diferida.

Herramientas de diagnóstico paralelo

Proporciona vínculos a documentación sobre las ventanas de depurador de Visual Studio para las tareas y las pilas paralelas y Visualizador de simultaneidad, que está compuesto de un conjunto de vistas en el Generador de perfiles de Visual Studio Application Lifecycle Management que puede utilizar para depurar y ajustar el rendimiento de código paralelo.

Particionadores personalizados para PLINQ y TPL

Describe cómo funcionan los particionadores y cómo configurar particionadores predeterminados o crear nuevos.

Generadores de tareas

Describe el rol de la clase System.Threading.Tasks.TaskFactory.

Programadores de tareas

Describe cómo funcionan los programadores y cómo se pueden configurar los programadores predeterminados.

Expresiones lambda en PLINQ y TPL

Proporciona información general sobre expresiones lambda en C# y Visual Basic, y presenta cómo se utilizan en PLINQ y Task Parallel Library.

Más información (Programación paralela)

Proporciona vínculos a documentación adicional y recursos de ejemplo sobre programación paralela en .NET Framework.

Desarrollo avanzado de .NET Framework

Nodo de nivel superior para los temas avanzados como subprocesos y programación paralela.

Vea también

Otros recursos

Patterns for Parallel Programming: Understanding and Applying Parallel Patterns with the .NET Framework 4