Definition
Techniken und Mechanismen, die gleichzeitigen Zugriff auf gemeinsame Ressourcen koordinieren, sodass Operationen trotz überlappender Ausführung Korrektheit, Isolation und gewünschte Invarianten bewahren.
Prinzip
Prinzip
Durchsetzung einer Serialisierung oder äquivalenten Ordnung von konfliktierenden Operationen (mittels Sperren, Zeitstempeln, Versionierung, optimistischer Validierung oder Transaktionsprotokollen), sodass verschränkte Ausführungen beobachtbar äquivalent zu einer korrekten seriellen Ausführung oder einem spezifizierten Isolationslevel sind.
Demonstration
Demonstration
Ein Datenbanksystem verwendet Two‑Phase Locking: Transaktion A erwirbt vor der Abbuchung ein Schreib‑Lock auf Konto X; Transaktion B wird auf dieses Lock blockiert, bis A committed, wodurch Lost‑Update‑Anomalien vermieden und die Kontostandsinvariante sichergestellt werden.
Fehlanwendung
Fehlanwendung
Anwendung grobkörniger wechselseitiger Ausschlüsse über nicht zusammenhängende Ressourcen, um Race‑Conditions zu vermeiden; das verhindert Rennen, serialisiert aber unnötig unabhängige Operationen und führt zu Durchsatzzusammenbruch und unfairen Latenzen.
Konsequenz
Konsequenz
Korrekt angewendet werden Anomalien des gemeinsamen Zustands (verlorene Updates, dirty reads, non‑repeatable reads) verhindert und Programm‑Invarianten bewahrt, zu Kosten erhöhter Koordinationsaufwände und möglicher Kontention oder Deadlocks, falls nicht richtig verwaltet.
Umkehrung
Umkehrung
Kein Nebenläufigkeitskontrolle: Nebenläufige Operationen laufen unkoordiniert, erzeugen Races, nicht‑deterministische Ergebnisse, verlorene Updates und Invariantenverletzungen, die vom Scheduling abhängen.
Abgrenzung
Abgrenzung
Gilt für Multi‑Thread‑Programme, Datenbank‑Transaktionen und verteilte Speicher, in denen veränderlicher geteilter Zustand gleichzeitig zugegriffen wird. Schließt rein unveränderlichen Datenzugriff und rein sequenzielle Single‑Thread‑Ausführung aus. Garantien hängen vom gewählten Isolationsniveau und dem Systemmodell (synchron vs asynchron, fail‑stop vs byzantinisch) ab.
Semantische Spannung
Semantische Spannung
Spannung zwischen strikter Serialisierbarkeit (maximale Korrektheit) und Durchsatz/Latenz: pessimistische Sperren bieten starke Isolation, aber hohe Kontention; optimistische Verfahren erhöhen Durchsatz, können aber Abbrüche steigern. Zudem der Zielkonflikt zwischen lokaler Nebenläufigkeitssteuerung und globaler Koordination in verteilten Systemen.
Synthese
Synthese
Nebenläufigkeitskontrolle fasst Mechanismen zusammen, die überlappende Zugriffe so transformieren, dass gewählte Korrektheitskriterien eingehalten werden, indem konfliktierende Operationen erkannt und geordnet werden und ein Ausgleich zwischen Invarianten‑Schutz und Leistungsaufwand erfolgt.