Kapitel 21. Fortgeschrittenes Threading
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Wir haben Kapitel 14 mit den Grundlagen des Threading als Vorläufer von Tasks und Asynchronität begonnen. Wir haben gezeigt, wie man einen Thread startet und konfiguriert, und wichtige Konzepte wie Thread-Pooling, Blocking, Spinning und Synchronisierungskontexte behandelt. Außerdem haben wir Locking und Thread Safety vorgestellt und das einfachste Signalisierungskonstrukt, ManualResetEvent, demonstriert.
Dieses Kapitel macht da weiter, wo wir in Kapitel 14 mit dem Thema Threading aufgehört haben. In den ersten drei Abschnitten gehen wir näher auf Synchronisierung, Locking und Thread Safety ein. Dann behandeln wir:
Nicht-exklusive Sperren (
Semaphoreund Leser/Schreiber-Sperren)Alle Signalkonstrukte (
AutoResetEvent,ManualResetEvent,CountdownEventundBarrier)Faule Initialisierung (
Lazy<T>undLazyInitializer)Thread-lokale Speicherung (
ThreadStaticAttribute,ThreadLocal<T>, undGetData/SetData)Timer
Das Thema Einfädeln ist so umfangreich, dass wir zusätzliches Material online gestellt haben, um das Bild zu vervollständigen. Unter http://albahari.com/threading findest du eine Diskussion über die folgenden, eher geheimnisvollen Themen:
Monitor.WaitundMonitor.Pulsefür spezielle SignalisierungsszenarienNichtblockierende Synchronisierungstechniken für die Mikrooptimierung (
Interlocked, Speicherbarrieren, ...
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