Middle+
Was ist Deadlock und Livelock? Worin besteht der Unterschied?
sobes.tech KI
Antwort von AI
Deadlock (Verweigerung) — Situation, in der zwei oder mehr Prozesse sich gegenseitig dauerhaft blockieren, jeder wartet auf die Freigabe einer Ressource, die von einem anderen Prozess gehalten wird. Zum Beispiel hält Prozess A Ressource 1 und wartet auf Ressource 2, während Prozess B Ressource 2 hält und auf Ressource 1 wartet.
Livelock (lebender Block) — Situation, in der Prozesse nicht blockiert sind, aber ständig ihren Zustand ändern, um aufeinander zu reagieren, ohne Fortschritt zu machen. Zum Beispiel geben zwei Prozesse ständig Ressourcen aneinander ab, aber keiner kann weiterarbeiten.
Unterschied:
- Deadlock — Prozesse warten gegenseitig und ändern ihren Zustand nicht.
- Livelock — Prozesse sind aktiv und ändern ihren Zustand, aber es gibt keinen Fortschritt.