Begriff
Mutex
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Ein Mutex ist eine Sperre. Er sorgt dafür, dass nur ein Thread gleichzeitig einen kritischen Bereich betreten darf.
Merksatz: Ein Mutex schützt geteilte Daten vor gleichzeitigem Zugriff.
Wenn zwei Threads dieselbe Liste verändern, kann ein Mutex verhindern, dass beide gleichzeitig schreiben. Ein Thread nimmt die Sperre, arbeitet kurz und gibt sie wieder frei.
Mutexes schützen Critical Sections. Gute Nutzung hält gesperrte Bereiche klein, definiert klare Lock-Reihenfolgen und vermeidet blockierende I/O im Lock. Viele Runtimes bieten zusätzlich Read/Write Locks, Condition Variables oder atomare Datentypen.
Falsche Mutex-Nutzung erzeugt Deadlocks, Starvation oder schlechte Performance. In hochparallelen Systemen ersetzen Entwickler Locks oft durch Queues, immutable Daten, Actor-Modelle oder lock-free Strukturen, wenn die Komplexität gerechtfertigt ist.
Quick-Check
Was schützt ein Mutex?
Einen kritischen Bereich oder geteilte Daten.Was ist ein Deadlock?
Mehrere Threads warten gegenseitig auf Sperren und keiner kommt weiter.Warum sollte ein Lock kurz gehalten werden?
Damit andere Threads nicht unnötig blockieren.