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 едновременно.