Middle+
Kas yra Deadlock ir Livelock? Kuo jie skiriasi?
sobes.tech AI
Atsakymas iš AI
Mirtina blokada (tarpusavio blokavimas) — situacija, kai du ar daugiau procesų amžinai blokuoja vienas kitą, kiekvienas laukia, kol bus atlaisvintas iš kito proceso užimtas išteklius. Pavyzdžiui, procesas A laiko išteklių 1 ir laukia išteklių 2, o procesas B laiko išteklių 2 ir laukia išteklių 1.
Gyvas blokas (livelock) — situacija, kai procesai nėra blokuojami, bet nuolat keičia savo būseną atsakydami vienas į kitą, nesistumdami į priekį. Pavyzdžiui, du procesai nuolat perduoda išteklius vienas kitam, bet nė vienas negali tęsti.
Skirtumas:
- Deadlock — procesai laukia vienas kito ir nekeičia būsenos.
- Livelock — procesai yra aktyvūs ir keičia būseną, bet nėra pažangos.