Task Parallel Library (TPL)Task Parallel Library (TPL)

Die Task Parallel Library (TPL) ist ein Satz von öffentlichen Typen und APIs im System.Threading- und System.Threading.Tasks-Namespace.The Task Parallel Library (TPL) is a set of public types and APIs in the System.Threading and System.Threading.Tasks namespaces. Der Zweck der TPL ist es, die Produktivität der Entwickler zu erhöhen, indem das Hinzufügen von Parallelität und Nebenläufigkeit zu Anwendungen vereinfacht wird.The purpose of the TPL is to make developers more productive by simplifying the process of adding parallelism and concurrency to applications. Die TPL skaliert den Grad der Nebenläufigkeit dynamisch, um alle verfügbaren Prozessoren möglichst effizient zu nutzen.The TPL scales the degree of concurrency dynamically to most efficiently use all the processors that are available. Außerdem behandelt die TPL die Partitionierung der Arbeit, die Planung von Threads im ThreadPool, die Abbruchunterstützung, die Zustandsverwaltung und andere Details auf niedriger Ebene.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. Mithilfe der TPL können Sie die Leistung des Codes optimieren und sich auf die Arbeit konzentrieren, für die das Programm konzipiert wurde.By using TPL, you can maximize the performance of your code while focusing on the work that your program is designed to accomplish.

Ab .NET Framework 4.NET Framework 4 ist die TPL die bevorzugte Methode zum Schreiben von Multithreadcode und parallelem Code.Starting with the .NET Framework 4.NET Framework 4, the TPL is the preferred way to write multithreaded and parallel code. Es eignet sich jedoch nicht jeder Code für die Parallelisierung. Wenn eine Schleife z. B. nur einen kleinen Teil der Arbeit in jeder Iteration ausführt oder für viele Iterationen nicht ausgeführt wird, kann der durch die Parallelisierung verursachte Mehraufwand die Ausführung des Codes verlangsamen.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. Zudem erhöht die Parallelisierung wie anderer Multithreadcode die Komplexität der Programmausführung.Furthermore, parallelization like any multithreaded code adds complexity to your program execution. Die TPL vereinfacht zwar Multithreadszenarien, Sie sollten jedoch Grundkenntnisse über Threadingkonzepte haben, z. B. Sperren, Deadlocks und Racebedingungen, damit Sie die TPL effektiv verwenden können.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.

TitelTitle Beschreibung Description
DatenparallelitätData Parallelism Beschreibt die Erstellung paralleler for- und foreach-Schleifen (For und For Each in Visual Basic).Describes how to create parallel for and foreach loops (For and For Each in Visual Basic).
Aufgabenbasierte asynchrone ProgrammierungTask-based Asynchronous Programming Beschreibt, wie Sie Aufgaben implizit mit Parallel.Invoke oder explizit mit Task-Objekten erstellen und ausführen.Describes how to create and run tasks implicitly by using Parallel.Invoke or explicitly by using Task objects directly.
Dataflow (Datenfluss)Dataflow Beschreibt, wie die Datenflusskomponenten in der TPL-Datenflussbibliothek zu verwenden sind, um mehrere Vorgänge zu behandeln, die miteinander kommunizieren müssen, oder um Daten zu verarbeiten, sobald sie verfügbar sind.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.
Verwenden von TPL mit anderen asynchronen MusternUsing TPL with Other Asynchronous Patterns Beschreibt die Verwendung der TPL mit anderen asynchronen Mustern in .NET.Describes how to use TPL with other asynchronous patterns in .NET
Potenzielle Fehler bei Daten- und AufgabenparallelitätPotential Pitfalls in Data and Task Parallelism Beschreibt einige allgemeine Fehler und Umgehungsstrategien.Describes some common pitfalls and how to avoid them.
Parallel LINQ (PLINQ) (Paralleles LINQ (PLINQ))Parallel LINQ (PLINQ) Beschreibt das Herstellen von Datenparallelität mit LINQ-Abfragen.Describes how to achieve data parallelism with LINQ queries.
Parallele ProgrammierungParallel Programming Der Knoten auf oberster Ebene für die parallele .NET-Programmierung.Top level node for .NET parallel programming.

Siehe auchSee also