Zurück zur Übersicht

Begriff

Mutual Exclusion (Mutex)

Computer Science Concurrency S3
2 Quellen 0 Lernpfade 0 Backlinks enriched

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.

Stell dir eine Flugzeugtoilette vor. Es gibt nur eine. Wenn sie "Besetzt" ist, kann niemand anders rein. Man muss draußen warten. Erst wenn derjenige rauskommt ("Frei"), kann der Nächste rein. Das ist Mutual Exclusion. Es verhindert Chaos (dass zwei Leute gleichzeitig auf der Toilette sitzen). In der IT ist die Toilette meistens eine Variable oder eine Datei, auf die zwei Programme zugreifen wollen.

Merksatz: Ein Prinzip, das verhindert, dass zwei Prozesse gleichzeitig auf einen kritischen Bereich (Shared Resource) zugreifen.


Quick-Check

  1. Was passiert, wenn ich das unlock vergesse?
    Katastrophe. Die Ressource bleibt für immer gesperrt. Alle anderen Threads warten ewig (Deadlock/Starvation). In modernen Sprachen nutzt man try...finally oder with-Blöcke, die automatisch unlocken, auch bei Fehlern.
  2. Unterschied zu Semaphoren?
    Ein Mutex ist eine Semaphore mit Zähler 1 ("Es gibt genau 1 Toilette"). Eine Semaphore kann auch bis 10 zählen ("Es gibt 10 Parkplätze").
  3. Kostet Locking Zeit?
    Ja. Viel Locking macht parallele Programme langsam ("Contention"). Das Ziel von gutem Design ist "Lock-Free Programming".