Task Parallel Library
Die Task Parallel Library (TPL) ist ein Satz von öffentlichen Typen und APIs in den System.Threading- und System.Threading.Tasks-Namespaces in .NET Framework, Version 4. Ziel der TPL ist es, die Produktivität der Entwickler zu erhöhen, indem das Hinzufügen von Parallelität zu Anwendungen vereinfacht wird. Die TPL skaliert den Grad der Parallelität dynamisch, um alle verfügbaren Prozessoren möglichst effizient zu nutzen. 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. Mithilfe der TPL können Sie die Leistung des Codes optimieren und sich auf die Arbeit konzentrieren, für die das Programm konzipiert wurde.
Ab .NET Framework 4 ist die TPL die bevorzugte Methode zum Schreiben von Multithreadcode und parallelem 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. Zudem erhöht die Parallelisierung wie anderer Multithreadcode die Komplexität der Programmausführung. 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. Weitere Informationen zu grundlegenden Konzepten paralleler Computervorgänge finden Sie im Parallel Computing Developer Center auf MSDN.
Verwandte Themen
Titel |
Beschreibung |
Beschreibt die Erstellung paralleler for- und foreach-Schleifen (For und For Each in Visual Basic). |
|
Beschreibt, wie Sie Aufgaben implizit mit Parallel.Invoke oder explizit mit Task-Objekten erstellen und ausführen. |
|
Beschreibt die Verwendung der TPL mit anderen asynchronen Mustern in .NET. |
|
Beschreibt einige allgemeine Fehler und Umgehungsstrategien. |
|
Beschreibt das Herstellen von Datenparallelität mit LINQ-Abfragen. |
|
Der Knoten auf oberster Ebene für die parallele .NET-Programmierung. |