Junior — Middle
Je mutex nástroj na synchronizáciu vlákien?
sobes.tech AI
Odpoveď od AI
Áno, mutex (vzájomné vylúčenie) je nástroj na synchronizáciu vlákien. V Go je to štruktúra sync.Mutex, ktorá umožňuje obmedziť súčasný prístup ku spoločným zdrojom a zabrániť podmienkam súťaže. Keď jedno vlákno (gorutina) získa mutex, ostatné, ktoré sa ho snažia získať, sú zablokované, kým nie je mutex uvoľnený.
Príklad použitia mutexu v Go:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // získať mutex
defer mu.Unlock() // uvoľniť mutex
counter++
}