Kapitel 23. 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:
Parallel 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 Core 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 neu in .NET Core 3 ist.Microsoft Dataflow (im
System.Threading.Tasks.Dataflow
Namespace) ist eine ausgefeilte API zum Erstellen von Netzwerken aus gepufferten Blöcken, die Aktionen oder Datentransformationen parallel ausführen, ähnlich wie bei der Akteur-/Agentenprogrammierung.Reactive Extensions implementiert LINQ over
IObservable
(eine alternative Abstraktion zuIAsyncEnumerable
) und zeichnet sich durch die Kombination asynchroner Streams aus. Reactive Extensions wird mit dem NuGet-Paket System.Reactive ...
Get C# 8.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.