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.