Sobes.tech
Junior — Middle

De ce sunt necesare mecanismele de sincronizare în sistemele cu un singur procesor atunci când se lucrează cu aplicații multithread?

sobes.tech AI

Răspuns de la AI

În sistemele uniproces, deși la un moment dat rulează doar un singur fir de execuție, aplicațiile multithread pot comuta între fire (schimb de context). Dacă mai multe fire accesează simultan resurse partajate (de exemplu, variabile sau structuri de date), fără mecanisme de sincronizare, pot apărea condiții de cursă, în care datele devin incoerente.

Mecanismele de sincronizare (mutex-uri, semafoare, blocări) asigură că doar un fir poate, într-un anumit moment, să modifice sau să citească o resursă partajată, prevenind erorile și asigurând corectitudinea programului.

Exemplu: dacă două fire cresc simultan un contor partajat fără blocare, valoarea finală poate fi mai mică decât cea așteptată din cauza conflictelor în timpul citirii și scrierii.