Middle+
Czym jest Deadlock i Livelock? Jaka jest różnica?
sobes.tech AI
Odpowiedź od AI
Martwa blokada (wzajemne blokowanie) — sytuacja, gdy dwa lub więcej procesów na zawsze blokuje się nawzajem, każdy oczekuje na zwolnienie zasobu zajętego przez inny proces. Na przykład proces A trzyma zasób 1 i czeka na zasób 2, a proces B trzyma zasób 2 i czeka na zasób 1.
Livelock (żywy blok) — sytuacja, gdy procesy nie blokują się, ale stale zmieniają swój stan w odpowiedzi na siebie nawzajem, nie posuwając się do przodu. Na przykład dwa procesy ciągle ustępują sobie zasoby, ale żaden nie może kontynuować pracy.
Różnica:
- Deadlock — procesy czekają na siebie nawzajem i nie zmieniają stanu.
- Livelock — procesy są aktywne i zmieniają stan, ale nie ma postępu.