Middle+
Mis on Deadlock ja Livelock? Milline on nende erinevus?
sobes.tech AI
Vastus AI-lt
Surnuk (vastastikune lukustamine) — olukord, kus kaks või rohkem protsessi lukustavad üksteist igaveseks, igaüks ootab teise protsessi poolt hõivatud ressursi vabastamist. Näiteks protsess A hoiab ressursi 1 ja ootab ressursi 2, samal ajal kui protsess B hoiab ressursi 2 ja ootab ressursi 1.
Elav lukustus (livelock) — olukord, kus protsessid ei lukustu, kuid pidevalt muudavad oma olekut vastuseks teineteisele, ilma edasiminejata. Näiteks, kaks protsessi vahetavad pidevalt ressursse, kuid kumbki ei saa jätkata.
Erinevus:
- Deadlock — protsessid ootavad üksteist ega muuda oma olekut.
- Livelock — protsessid on aktiivsed ja muudavad oma olekut, kuid edasiminekut ei toimu.