Sobes.tech
Junior — Middle

За какво се използва механизмът за взаимно изключване (Mutex) в многопоточната програмиране?

sobes.tech AI

Отговор от AI

Механизмът за взаимно изключване (Mutex) в многопоточната програмиране се използва за предотвратяване на едновременен достъп на няколко нишки до споделени ресурси или критични секции от кода. Това помага да се избегнат състезателни условия, повреждане на данни и осигурява правилната работа на програмата.

В Go често се използва sync.Mutex за това:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // заключване на мютекса
    counter++           // критична секция
    mu.Unlock()         // отключване на мютекса
}

По този начин, само един поток може да изпълнява кода между Lock и Unlock едновременно.