Parallele Programmierung in .NET Framework

Viele Personalcomputer und Arbeitsstationen verfügen über zwei oder vier Kerne (d. h. CPUs), die die gleichzeitige Ausführung mehrerer Threads ermöglichen. Schon in naher Zukunft werden Computer vermutlich über deutlich mehr Kerne verfügen. Um sowohl aktuelle als auch künftige 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 2010 und .NET Framework 4 verbessern die Unterstützung für parallele Programmierung, indem sie eine neue Laufzeit, neue Klassenbibliothekstypen und neue Diagnosetools bereitstellen. Durch diese Funktionen wird die parallele Entwicklung vereinfacht, sodass sie effizienten, differenzierten und skalierbaren parallelen Code in einer natürlichen Sprache schreiben können, ohne direkt mit Threads oder dem Threadpool arbeiten zu müssen. Die folgende Abbildung stellt in .NET Framework 4 eine allgemeine Übersicht der parallelen Programmierarchitektur bereit.

.NET-Architektur für die parallele Programmierung

Verwandte Themen

Technologie

Beschreibung

Task Parallel Library

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.

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 Dokumentationen über Visual Studio-Debuggerfenster für Aufgaben und parallele Stapel und die Parallelitätsschnellansicht bereit, die aus einer Gruppe von Ansichten im Verwaltung von Anwendungslebenszyklen von Visual Studio-Profiler besteht, mit dem die Leistung von parallelem Code debuggt und optimiert werden kann.

Benutzerdefinierte Partitionierer für PLINQ und TPL

Beschreibt, wie Partitionierer funktionieren und wie die Standardpartitionierer konfiguriert bzw. wie ein neuer Partitionierer erstellt wird.

Aufgabenfactorys

Beschreibt die Rolle der System.Threading.Tasks.TaskFactory-Klasse.

Taskplaner

Beschreibt, wie Planer funktionieren und wie die Standardplaner konfiguriert werden.

Lambda-Ausdrücke in PLINQ und TPL

Bietet einen kurzen Überblick über Lamba-Ausdrücke in C# und Visual Basic und zeigt, wie sie in PLINQ und der Task Parallel Library verwendet werden.

Weitere Themen (Parallele Programmierung)

Stellt Links zu zusätzlichen Dokumentationen und Beispielressourcen für parallele Programmierung in .NET Framework bereit.

Fortgeschrittene .NET Framework-Entwicklung

Der Knoten auf oberster Ebene für komplexere Themen wie z. B. Threading und parallele Programmierung.

Siehe auch

Weitere Ressourcen

Muster für die parallele Programmierung: Begreifen und Anwenden von parallelen Mustern mit .NET Framework 4