Junior — Middle
Da li je mutex alat za sinhronizaciju niti?
sobes.tech АИ
Одговор од АИ
Да, mutex (взаимно искључивање) је алат за синхронизацију нитева. У Go-у, то је структура sync.Mutex која омогућава ограничење истовременог приступа заједничким ресурсима и спречава услове трка. Када једна нит (горутина) преузме mutex, друге које покушавају да га преузму су блокиране док се не ослободи.
Пример коришћења mutex-а у Go-у:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // преузми mutex
defer mu.Unlock() // ослободи mutex
counter++
}