Junior — Middle
Je mutex nástroj pro synchronizaci vláken?
sobes.tech AI
Odpověď od AI
Ano, mutex (vzájemné vyloučení) je nástroj pro synchronizaci vláken. V Go je to struktura sync.Mutex, která umožňuje omezit současný přístup ke sdíleným zdrojům a zabránit závodním podmínkám. Když jedno vlákno (goroutine) získá mutex, ostatní, které se ho snaží získat, jsou zablokovány, dokud není mutex uvolněn.
Příklad použití mutexu v Go:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // získat mutex
defer mu.Unlock() // uvolnit mutex
counter++
}