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.