Biblioteca de procesamiento paralelo basado en tareas (TPL)

La biblioteca TPL (Task Parallel Library, biblioteca de procesamiento paralelo basado en tareas) es un conjunto de API y tipos públicos de los espacios de nombres System.Threading y System.Threading.Tasks. El propósito de la TPL es aumentar la productividad de los desarrolladores simplificando el proceso de agregar paralelismo y simultaneidad a las aplicaciones. La TPL escala el grado de simultaneidad de manera dinámica para usar con mayor eficacia todos los procesadores disponibles. Además, la TPL se encarga de la división del trabajo, la programación de los subprocesos en ThreadPool, la compatibilidad con la cancelación, la administración de los estados y otros detalles de bajo nivel. Al utilizar la TPL, el usuario puede optimizar el rendimiento del código mientras se centra en el trabajo para el que el programa está diseñado.

En .NET Framework 4, la biblioteca TPL es el modo preferido de escribir código multiproceso y en paralelo. Pero no todo el código es adecuado para la paralelización. Por ejemplo, si un bucle realiza solo una cantidad reducida de trabajo en cada iteración o no se ejecuta durante numerosas iteraciones, la sobrecarga de la paralelización puede dar lugar a una ejecución más lenta del código. Además, al igual que cualquier código multiproceso, la paralelización hace que la ejecución del programa sea más compleja. Aunque la TPL simplifica los escenarios de multithreading, recomendamos tener conocimientos básicos sobre conceptos de subprocesamiento, por ejemplo, bloqueos, interbloqueos y condiciones de carrera, para usar la TPL eficazmente.

Title Descripción
Paralelismo de datos Describe cómo crear bucles for y foreach paralelos (For y For Each en Visual Basic).
Programación asincrónica basada en tareas Describe cómo crear y ejecutar tareas implícitamente mediante Parallel.Invoke o explícitamente usando objetos Task directamente.
Flujo de datos Describe cómo utilizar los componentes de flujo de datos de la biblioteca de TPL Dataflow para controlar varias operaciones. Estas operaciones deben comunicarse entre sí y procesar datos a medida que estén disponibles.
Problemas potenciales en el paralelismo de datos y tareas Describe algunos problemas comunes y cómo evitarlos.
Parallel LINQ (PLINQ) Describe cómo lograr el paralelismo de datos con consultas LINQ.
Programación en paralelo Nodo de nivel superior de la programación en paralelo de .NET.

Consulte también