Bibliothèque parallèle de tâchesTask Parallel Library (TPL)

La bibliothèque parallèle de tâches est un ensemble de types publics et d’API dans les espaces de noms System.Threading et System.Threading.Tasks.The Task Parallel Library (TPL) is a set of public types and APIs in the System.Threading and System.Threading.Tasks namespaces. L'objectif de la bibliothèque parallèle de tâches est d'accroître la productivité des développeurs en simplifiant le processus d'ajout du parallélisme et de l'accès concurrentiel aux applications.The purpose of the TPL is to make developers more productive by simplifying the process of adding parallelism and concurrency to applications. La bibliothèque parallèle de tâches met à l'échelle dynamiquement le degré d'accès concurrentiel pour utiliser plus efficacement tous les processeurs disponibles.The TPL scales the degree of concurrency dynamically to most efficiently use all the processors that are available. De plus, la bibliothèque parallèle de tâches gère le partitionnement du travail, la planification de threads sur le ThreadPool, la prise en charge de l'annulation, la gestion d'état et d'autres détails de bas niveau.In addition, the TPL handles the partitioning of the work, the scheduling of threads on the ThreadPool, cancellation support, state management, and other low-level details. L'utilisation de la bibliothèque parallèle de tâches vous permet de maximiser les performances de votre code tout en vous concentrant sur le travail que votre programme doit accomplir.By using TPL, you can maximize the performance of your code while focusing on the work that your program is designed to accomplish.

À partir de .NET Framework 4.NET Framework 4, la bibliothèque parallèle de tâches est la meilleure méthode pour écrire le code multithread et parallèle.Starting with the .NET Framework 4.NET Framework 4, the TPL is the preferred way to write multithreaded and parallel code. Toutefois, tout le code est pas approprié pour la parallélisation ; par exemple, si une boucle exécute uniquement une petite quantité de travail sur chaque itération ou ne s'exécute que pour un nombre limité d'itérations, la charge mémoire de la parallélisation peut ralentir l'exécution du code.However, not all code is suitable for parallelization; for example, if a loop performs only a small amount of work on each iteration, or it doesn't run for many iterations, then the overhead of parallelization can cause the code to run more slowly. En outre, comme tout code multithread, la parallélisation rend l'exécution du programme plus complexe.Furthermore, parallelization like any multithreaded code adds complexity to your program execution. Même si la bibliothèque parallèle de tâches simplifie les scénarios multithread, il est recommandé de connaître les notions fondamentales des concepts de threading, tels que les verrous, les interblocages et les conditions de concurrence critique, afin de pouvoir utiliser efficacement la bibliothèque parallèle de tâches.Although the TPL simplifies multithreaded scenarios, we recommend that you have a basic understanding of threading concepts, for example, locks, deadlocks, and race conditions, so that you can use the TPL effectively.

TitreTitle DescriptionDescription
Parallélisme de donnéesData Parallelism Décrit comment créer des boucles parallèles for et foreach (For et For Each en Visual Basic).Describes how to create parallel for and foreach loops (For and For Each in Visual Basic).
Programmation asynchrone basée sur les tâchesTask-based Asynchronous Programming Décrit comment créer et exécuter implicitement des tâches à l’aide de Parallel.Invoke ou explicitement en utilisant des objets Task directement.Describes how to create and run tasks implicitly by using Parallel.Invoke or explicitly by using Task objects directly.
Le flux de donnéesDataflow Explique comment utiliser les composants de flux de données dans la bibliothèque de flux de données de TPL pour effectuer plusieurs opérations qui doivent communiquer entre elles ou pour traiter les données lorsqu'elles sont disponibles.Describes how to use the dataflow components in the TPL Dataflow Library to handle multiple operations that must communicate with one another or to process data as it becomes available.
Utilisation de la bibliothèque parallèle de tâches (TPL) avec d’autres modèles asynchronesUsing TPL with Other Asynchronous Patterns Décrit comment utiliser la bibliothèque parallèle de tâches avec d’autres modèles asynchrones dans .NET.Describes how to use TPL with other asynchronous patterns in .NET
Pièges potentiels dans le parallélisme des données et des tâchesPotential Pitfalls in Data and Task Parallelism Décrit des pièges courants et la manière de les éviter.Describes some common pitfalls and how to avoid them.
Parallel LINQ (PLINQ)Parallel LINQ (PLINQ) Décrit comment atteindre le parallélisme des données avec les requêtes LINQ.Describes how to achieve data parallelism with LINQ queries.
Programmation parallèleParallel Programming Nœud de niveau supérieur pour la programmation parallèle .NET.Top level node for .NET parallel programming.

Voir aussiSee also