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.Channelist 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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access