Sobes.tech
Senior

Ce este un deadlock?

sobes.tech AI

Răspuns de la AI

Blocajul mutual (deadlock) — situație în sistemele multi-thread sau distribuite în care două sau mai multe procese (sau fire de execuție) așteaptă resurse ocupate de altele, și nici unul nu poate continua.

Exemplu clasic de deadlock:

  • Procesul A a obținut resursa 1 și așteaptă resursa 2.
  • Procesul B a obținut resursa 2 și așteaptă resursa 1.

Ambele procese se blochează reciproc pentru totdeauna.

Pentru a evita deadlock-urile, se aplică:

  • O ierarhie de achiziție a resurselor (toate procesele achiziționează resursele în aceeași ordine).
  • Timeout-uri de așteptare.
  • Algoritmi de detectare și rezolvare a deadlock-urilor.

În testare, este important să se verifice scenarii care pot duce la deadlock-uri pentru a asigura stabilitatea și reziliența sistemului.