 ##  [Livelock](/de/node/58927) 

 Definition

Ein Nebenläufigkeitszustand, bei dem Aufgaben fortlaufend ihren Zustand als Reaktion auf andere ändern, aber keinen Gesamtfortschritt erzielen; das System bleibt aktiv, aber keine nützliche Arbeit wird abgeschlossen.

 

 

 

 

 

 





## Prinzip

Prinzip

Livelock entsteht, wenn Teilnehmer auf Kontention so reagieren, dass die lokale Lebendigkeit (Zustandsänderung) erhalten bleibt, jedoch kein systemweiter Fortschritt garantiert ist — oft aufgrund symmetrischer Retry/Backoff‑Strategien oder übermäßiger Reaktionsregeln.

 

 

 

 

 





## Demonstration

Demonstration

Zwei Prozesse erkennen Kontention und treten beide für exakt dasselbe Intervall zurück, dann versuchen sie gleichzeitig erneut; dies verhindert wiederholt, dass einer die Operation abschließt, obwohl Zustandsänderungen stattfinden.

 

 

 

 

## Fehlanwendung

Fehlanwendung

Jede hohe CPU‑Auslastung oder Thrashing als Livelock zu bezeichnen, oder Livelock mit Deadlock gleichzusetzen und Deadlock‑Recovery‑Mechanismen anzuwenden, die keine Zustandsänderungen erwarten.

 

 

 

 

 





## Konsequenz

Konsequenz

Die korrekte Identifizierung von Livelock führt zu Abhilfen wie randomisiertem Backoff, Symmetriebruch, Einführung von Fairness oder Durchsetzung von Fortschrittsgarantien bzw. Begrenzung reaktiven Verhaltens; Fehldeutung kann zu zu harten Recovery‑Maßnahmen führen, die die Reaktionsfähigkeit verschlechtern.

 

 

 

 

## Umkehrung

Umkehrung

Das Gegenteil ist koordinierter Fortschritt: Obwohl Akteure Zustände ändern, konvergieren ihre Interaktionen zu abgeschlossenen Operationen statt zu zyklischen, nicht fortschreitenden Reaktionen.

 

 

 

 

 





## Abgrenzung

Abgrenzung

Gilt, wenn Systemkomponenten weiterhin Zustandsänderungen ausführen, ohne Ziele zu erreichen. Ausgeschlossen sind Deadlock (keine Zustandsänderung) und reine Performance‑Schwankungen; Livelock kann in Netzwerk‑Routing, Retry‑Schleifen oder kooperativen Protokollen auftreten.

 

 

 

 

 





## Semantische Spannung

Semantische Spannung

Spannung zu Thrashing und Busy‑Waiting: Thrashing beschreibt Ressourcenverschwendung durch übermäßige Kontextwechsel oder Paging, während Livelock funktionales Nicht‑Abschließen trotz Aktivität betont; beides kann zusammen vorkommen.

 

 

 

 

 





## Synthese

Synthese

Livelock ist ein aktiver Nicht‑Fortschrittszustand, der durch reaktive Regeln oder Symmetrie erzeugt wird und wiederholte Zustandsänderungen ohne Vorwärtsabschluss verursacht; gelöst wird er durch Symmetriebruch, Zufallseinführung oder Fortschrittsgarantien.