Nebenläufigkeit in C# (.NET): Asynchronität, Parallelität und Multithreading
Nebenläufigkeit in C# (.NET): Asynchronität, Parallelität und Multithreading
Zusammenfassung:
Moderne .NET-Anwendungen müssen schnell und reaktionsfähig sein, und das ist ohne ein Verständnis von Nebenläufigkeit nicht möglich. Das Buch „Nebenläufigkeit in C# (.NET)“ ist ein praktischer Leitfaden, der Sie Schritt für Schritt von den Grundlagen der asynchronen Programmierung bis hin zu komplexen Szenarien der parallelen Datenverarbeitung und dem Aufbau verteilter Systeme führt.
Sie erfahren, wie Sie async und await richtig einsetzen, Aufgaben (Task) verwalten, Blockaden vermeiden und den Zugriff auf gemeinsame Ressourcen synchronisieren. Ein besonderer Schwerpunkt liegt auf der TPL (Task Parallel Library), parallelen Schleifen (Parallel.For, Parallel.ForEach) sowie der Arbeit mit ConcurrentCollection und PLINQ.
Für wen ist dieses Buch geeignet:
- C#-Entwickler, die von einfachen Single-Thread-Anwendungen zu hochbelastbaren Systemen übergehen möchten.
- Backend-Ingenieure, die mit ASP.NET Core, SignalR und Microservices arbeiten.
- Fachleute, die auf Leistungsprobleme stoßen (Datenrennen, Deadlocks, Starvation).
- Alle, die den Unterschied zwischen Asynchronität, Multithreading und Parallelität auf der .NET-Plattform verstehen möchten.
Was Sie lernen werden:
- Wie der Taskplaner (TaskScheduler) und der .NET-Threadpool funktionieren.
- Wie man async-Methoden richtig entwirft und versteckte Fehler vermeidet (z. B. das Erfassen des Synchronisationskontexts).
- Wie man
Channel,SemaphoreSlim,ReaderWriterLockSlimund andere Synchronisationsprimitive einsetzt. - Wie man die Pattern Producer-Consumer, Pipeline und MapReduce in C# implementiert.
- Wie man nebenläufigen Code mit
System.Threading.ChannelsundMicrosoft.Diagnostics.Tracingtestet und debuggt. - Wie man
IAsyncEnumerablefür die Streaming-Datenverarbeitung verwendet.
Das Buch enthält zahlreiche Codebeispiele, die in realen Projekten einsatzbereit sind. Sie lernen, nicht nur schnelle, sondern auch sichere Programme zu schreiben, die gegen Datenrennen und gegenseitige Blockaden resistent sind. Nach der Lektüre werden Sie in der Lage sein, Systeme souverän zu entwerfen, die Mehrkernprozessoren und asynchrone E/A-Operationen effizient nutzen.
Nebenläufigkeit in C# (.NET) ist nicht nur Theorie, sondern eine Sammlung von Werkzeugen und Techniken, die die Qualität Ihres Codes und die Leistung Ihrer Anwendungen sofort verbessern. Ideal für alle, die auf die nächste Stufe der .NET-Entwicklung aufsteigen möchten.
Empfehlungen
Webentwicklung mit PHP: Von den Grundlagen bis zum Deployment
Java für Data Science: Von den Grundlagen bis zu industriellen Lösungen
Webentwicklung mit C++: Von den Grundlagen bis zum Deployment
C# (.NET) und Docker: Containerisierung von Anwendungen
Go (Golang) für Data Science: Ein praktischer Leitfaden
Architektur von Kotlin-Anwendungen: vom Monolithen zu Microservices