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:

  • 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 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.Thread⁠ing.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 zu IAsyncEnumerable) und zeichnet sich durch die Kombination asynchroner Streams aus. Reactive Extensions wird mit dem NuGet-Paket ...

Get C# 12 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.