Sobes.tech
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++
}