Kapitel 22. Parallele Programmierung
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
In diesem Kapitel befassen wir uns mit den Multithreading-APIs und Konstrukten zur Nutzung von Multicore-Prozessoren:
-
Paralleles LINQ, oder PLINQ
-
Die Klasse
Parallel
-
Die Konstrukte der Aufgabenparallelität
-
Die gleichzeitigen Sammlungen
Diese Konstrukte werden (lose) als Parallel Framework (PFX) bezeichnet. Die Klasse Parallel
wird zusammen mit den Konstrukten der Taskparallelität als Task Parallel Library (TPL) bezeichnet.
Bevor du dieses Kapitel liest, solltest du mit den Grundlagen in Kapitel 14 vertraut sein - insbesondere mit Locking, Thread Safety und der Klasse Task
.
Hinweis
.NET bietet eine Reihe von zusätzlichen spezialisierten APIs, die bei der parallelen und asynchronen Programmierung helfen:
-
System.Threading.Channels.Channel
ist eine leistungsstarke asynchrone Producer/Consumer-Warteschlange, die in .NET Core 3 eingeführt wurde. -
Microsoft Dataflow (im Namensraum
System.Threading.Tasks.Dataflow
) ist eine ausgefeilte API zum Erstellen von Netzwerken aus gepufferten Blöcken, die Aktionen oder Datentransformationen parallel ausführen, ähnlich wie bei der Akteur/Agenten-Programmierung. -
Reactive Extensions implementiert LINQ over
IObservable
(eine alternative Abstraktion zuIAsyncEnumerable
) und zeichnet sich durch die Kombination asynchroner Streams aus. Reactive Extensions wird mit dem ...
Get C# 9.0 in einer Kurzfassung now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.