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.
Verwandte Themen
Technologie |
Beschreibung |
---|---|
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. |
|
Eine parallele Implementierung von LINQ to Objects, die die Leistung in vielen Szenarien deutlich verbessert. |
|
Stellt Links zu Dokumentationen über threadsichere Auflistungsklassen, einfache Synchronisierungstypen und Typen für verzögerte Initialisierung bereit. |
|
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. |
|
Beschreibt, wie Partitionierer funktionieren und wie die Standardpartitionierer konfiguriert bzw. wie ein neuer Partitionierer erstellt wird. |
|
Beschreibt die Rolle der System.Threading.Tasks.TaskFactory-Klasse. |
|
Beschreibt, wie Planer funktionieren und wie die Standardplaner konfiguriert werden. |
|
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. |
|
Stellt Links zu zusätzlichen Dokumentationen und Beispielressourcen für parallele Programmierung in .NET Framework bereit. |
|
Der Knoten auf oberster Ebene für komplexere Themen wie z. B. Threading und parallele Programmierung. |