Sobes.tech
Senior

Mis on deadlock?

sobes.tech AI

Vastus AI-lt

Deadlock (vastastikune blokeering) — olukord mitme niidi või jaotatud süsteemides, kus kaks või enam protsessi (või niiti) ootavad ressursse, mida kasutavad teised, ning ükski neist ei saa jätkata.

Klassikaline deadlock näide:

  • Protsess A on omandanud ressursi 1 ja ootab ressursi 2.
  • Protsess B on omandanud ressursi 2 ja ootab ressursi 1.

Mõlemad protsessid blokeerivad üksteist igaveseks.

Deadlockide vältimiseks kasutatakse:

  • Ressursside omandamise hierarhiat (kõik protsessid omandavad ressursid samas järjekorras).
  • Ootamise ajapiiranguid.
  • Deadlockide tuvastamise ja lahendamise algoritme.

Testimisel on oluline kontrollida stsenaariume, mis võivad viia deadlockideni, et tagada süsteemi stabiilsus ja vastupidavus vigu.