Sobes.tech
Junior — Middle

Este mutex un instrument de sincronizare a firelor?

sobes.tech AI

Răspuns de la AI

Da, mutex (excludere mutuală) este un instrument de sincronizare a firelor. În Go, este o structură sync.Mutex care permite limitarea accesului simultan la resursele comune, prevenind condițiile de cursă. Când un fir (goroutine) preia mutex-ul, altele care încearcă să-l preia sunt blocate până când acesta este eliberat.

Exemplu de utilizare a mutex-ului în Go:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // preia mutex-ul
    defer mu.Unlock()   // eliberează mutex-ul
    counter++
}