Sobes.tech
Junior — Middle

La ce serve mecanismul de excludere mutuală (Mutex) în programarea multi-thread?

sobes.tech AI

Răspuns de la AI

Mecanismul de excludere reciprocă (Mutex) în programarea multi-thread este utilizat pentru a preveni accesul simultan al mai multor fire de execuție la resursele comune sau secțiunile critice ale codului. Acest lucru ajută la evitarea condițiilor de cursă, corupției datelor și asigură funcționarea corectă a programului.

În Go, pentru aceasta, se folosește adesea sync.Mutex:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // blocarea mutexului
    counter++           // secțiune critică
    mu.Unlock()         // deblocarea mutexului
}

Astfel, doar un singur fir de execuție poate executa codul dintre Lock și Unlock în același timp.