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. 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. Die TPL skaliert den Grad der Nebenläufigkeit dynamisch, um alle verfügbaren Prozessoren am effizientesten 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.
In .NET Framework 4 ist die TPL die bevorzugte Methode zum Schreiben von Multithreadcode und parallelem Code. Allerdings eignet sich 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.
Verwandte Artikel
Titel | Beschreibung |
---|---|
Datenparallelität | Beschreibt die Erstellung paralleler for - und foreach -Schleifen (For und For Each in Visual Basic). |
Aufgabenbasierte asynchrone Programmierung | Beschreibt, wie Sie Aufgaben implizit mit Parallel.Invoke oder explizit mit Task-Objekten erstellen und ausführen. |
Dataflow (Datenfluss) | Beschreibt, wie die Datenflusskomponenten in der TPL-Datenflussbibliothek verwendet werden, um mehrere Vorgänge zu verarbeiten. Diese Vorgänge müssen miteinander kommunizieren und Daten verarbeiten, sobald sie verfügbar sind. |
Potenzielle Fehler bei Daten- und Aufgabenparallelität | Beschreibt einige allgemeine Fehler und Umgehungsstrategien. |
Parallel LINQ (PLINQ) (Paralleles LINQ (PLINQ)) | Beschreibt das Herstellen von Datenparallelität mit LINQ-Abfragen. |
Parallele Programmierung | Der Knoten auf oberster Ebene für die parallele .NET-Programmierung. |