Parallelität in C# (.NET): Asynchronität, Parallelverarbeitung und Multithreading
Parallelität in C# (.NET): Asynchronität, Parallelverarbeitung und Multithreading
Zusammenfassung:
Moderne Anwendungen müssen schnell und reaktionsfähig sein. Benutzer verzeihen keine Abstürze, und Serversysteme müssen Tausende von Anfragen gleichzeitig verarbeiten. Das Buch „Parallelität in C# (.NET)“ ist ein umfassender Leitfaden zu allen Aspekten der parallelen und asynchronen Programmierung auf der .NET-Plattform, der Ihnen hilft, von sequenziellem Code zu leistungsstarken parallelen Lösungen überzugehen.
Worum geht es in diesem Buch?
Das Buch ist nach dem Prinzip „vom Einfachen zum Komplexen“ aufgebaut und deckt alle wichtigen Themen ab:
- Grundlagen des Multithreadings: Was sind Threads, Thread-Pools und wie arbeitet man damit in .NET.
- Asynchrone Programmierung: Tiefer Einstieg in das async/await-Muster, Task und ValueTask, Verwaltung des Synchronisationskontexts.
- Task Parallel Library (TPL): Parallele Schleifen, Aufgaben, die Parallel-Klasse und effiziente Datenverarbeitung.
- Synchronisation und Sperren: Monitore, Mutexe, Semaphore, ReaderWriterLockSlim und Lock-freie Ansätze.
- Threadsichere Sammlungen: ConcurrentDictionary, ConcurrentQueue, BlockingCollection und Channels.
- Fehlerbehandlung und Debugging: Wie man Ausnahmen in asynchronem Code abfängt, Deadlocks und Race Conditions vermeidet.
- Reaktive Programmierung: Einführung in Rx.NET und die Arbeit mit Ereignisströmen.
- Fortgeschrittene Techniken: Dataflow (TplDataflow), IAsyncEnumerable, Parallelverarbeitung mit Span
und Memory .
Für wen ist dieses Buch?
Das Buch ist nützlich für:
- C#-Entwickler, die verstehen möchten, wie man asynchronen Code ohne Fehler und Speicherlecks schreibt.
- Softwarearchitekten, die hochlastige Systeme auf .NET entwerfen.
- Teamleiter, die Best Practices für Parallelität in ihren Teams einführen möchten.
- Studenten und Junioren, die eines der komplexesten Themen der Programmierung meistern möchten.
Für die Lektüre werden sichere Kenntnisse der C#-Syntax und ein grundlegendes Verständnis der Betriebssystemfunktionen vorausgesetzt.
Was werden Sie lernen?
- Wie man async/await richtig einsetzt, um die Benutzeroberfläche nicht zu blockieren und die Serverleistung nicht zu beeinträchtigen.
- Wie man Berechnungen auf Mehrkernprozessoren mit TPL parallelisiert.
- Wie man Daten sicher zwischen Threads teilt, ohne Risiko von Wettlaufsituationen und gegenseitigen Blockaden.
- Wie man Multithread-Code testet und debuggt.
- Wie man Datenverarbeitungspipelines mit TPL Dataflow erstellt.
- Wie man typische Anti-Patterns (z. B. „sync over async“) vermeidet.
Alle Codebeispiele sind aktuell für .NET 8 und neuere Versionen, einschließlich .NET 9. Das Buch enthält zahlreiche praktische Übungen und fertige Lösungen, die sofort in realen Projekten eingesetzt werden können. Unabhängig davon, ob Sie eine Desktop-Anwendung mit WPF, einen Webdienst mit ASP.NET Core oder eine Cloud-Funktion mit Azure schreiben, das Wissen aus diesem Buch hilft Ihnen, Ihren Code schneller, stabiler und skalierbarer zu machen.