Parallele Programmierung in .NET: Leitfaden zur Dokumentation

Viele Personalcomputer und Arbeitsstationen verfügen über mehrere CPU-Kerne, die die gleichzeitige Ausführung mehrerer Threads ermöglichen. Um die Hardware nutzen zu können, kann der Code parallelisiert werden, um die Arbeit über mehrere Prozessoren zu verteilen.

Früher erforderte die Parallelisierung Änderungen von Threads und Sperren auf niedriger Ebene. Visual Studio und .NET verbessern die Unterstützung für die parallele Programmierung, indem sie eine Laufzeit, Klassenbibliothekstypen und Diagnosetools bereitstellen. Diese Features, die in .NET Framework 4 eingeführt wurden, vereinfachen die parallele Entwicklung. Sie können effizienten, differenzierten und skalierbaren parallelen Code in einer natürlichen Sprache schreiben, ohne direkt mit Threads oder dem Threadpool arbeiten zu müssen.

Die folgende Abbildung stellt in .NET eine allgemeine Übersicht der parallelen Programmierarchitektur bereit.

.NET-Architektur für die parallele Programmierung

Technologie Beschreibung
Task Parallel Library (TPL) Stellt eine Dokumentation für die System.Threading.Tasks.Parallel-Klasse, die parallele Versionen einer For-Schleife und einer ForEach-Schleife einschließt, sowie für die System.Threading.Tasks.Task-Klasse bereit. Dies ist die bevorzugte Methode, um asynchrone Vorgänge auszudrücken.
Parallel LINQ (PLINQ) (Paralleles LINQ (PLINQ)) Eine parallele Implementierung von LINQ to Objects, die die Leistung in vielen Szenarien deutlich verbessert.
Datenstrukturen für die parallele Programmierung Stellt Links zu Dokumentationen über threadsichere Auflistungsklassen, einfache Synchronisierungstypen und Typen für verzögerte Initialisierung bereit.
Diagnosetools für die parallele Ausführung Stellt Links zu Dokumentation für Visual Studio-Debuggerfenster für Aufgaben und parallele Stapel sowie für Concurrency Visualizer bereit.
Benutzerdefinierte Partitionierer für PLINQ und TPL Beschreibt, wie Partitionierer funktionieren und wie die Standardpartitionierer konfiguriert bzw. wie ein neuer Partitionierer erstellt wird.
Taskplaner Beschreibt, wie Planer funktionieren und wie die Standardplaner konfiguriert werden.
Lambdaausdrücke in PLINQ und TPL Bietet einen kurzen Überblick über Lambaausdrücke in C# und Visual Basic und zeigt, wie sie in PLINQ und der Task Parallel Library verwendet werden.
Weitere Informationen Stellt Links zu zusätzlichen Informationen und Beispielressourcen für die parallele Programmierung in .NET Framework bereit.

Siehe auch