Sobes.tech
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.