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.