Sobes.tech
Senior

Kas yra deadlock?

sobes.tech AI

Atsakymas iš AI

Deadlock (tarpusavio blokavimas) — situacija daugiasluoksniuose arba paskirstytuose sistemuose, kai du arba daugiau procesų (arba srautų) laukia išteklių, kuriuos naudoja kiti, ir nė vienas jų negali tęsti darbo.

Klasikinis deadlock pavyzdys:

  • Procesas A įgijo išteklių 1 ir laukia išteklių 2.
  • Procesas B įgijo išteklių 2 ir laukia išteklių 1.

Abu procesai laiko vienas kitą amžinai.

Siekiant išvengti deadlock'ų, taikomi:

  • Išteklių įgijimo hierarchija (visi procesai įgyja išteklius tame pačiame tvarkoje).
  • Laukimo laiko limitai.
  • Deadlock'ų aptikimo ir sprendimo algoritmai.

Testavime svarbu patikrinti scenarijus, kurie gali sukelti deadlock'us, siekiant užtikrinti sistemos stabilumą ir atsparumą klaidoms.