Middle — Middle+
Ako môže v systéme vzniknúť LiveLock a v čom sa líši od DeadLocku?
sobes.tech AI
Odpoveď od AI
LiveLock nastáva, keď niekoľko vlákien alebo procesov neustále reaguje na seba, mení svoj stav, ale žiadne z nich nemôže postúpiť ďalej. Na rozdiel od DeadLocku, kde sú vlákna navždy zablokované, v LiveLocku sú aktívne a pokračujú v práci, ale nedosahujú pokroku.
Príklad:
- Dve vlákna sa snažia uvoľniť zdroje pre seba navzájom, neustále ustupujú, ale žiadne nezískava definitívne zdroj.
Rozdiely:
- DeadLock — úplné zablokovanie, vlákna čakajú navždy.
- LiveLock — vlákna sú aktívne, ale nemôžu vykonávať užitočnú prácu kvôli neustálym zmenám stavu.
Na prevenciu LiveLocku sa často používajú náhodné oneskorenia alebo stratégie opakovania pokusov.