Junior — Middle
Дали mutex е инструмент за синхронизиране на нишки?
sobes.tech AI
Отговор от AI
Да, mutex (взаимно изключване) е инструмент за синхронизация на нишки. В Go това е структура sync.Mutex, която позволява ограничаване на едновременния достъп до споделени ресурси и предотвратява състезателни условия. Когато една нишка (goroutine) придобие mutex, други, които се опитват да го придобият, се блокират, докато не бъде освободен.
Пример за използване на mutex в Go:
var mu sync.Mutex
var counter int
func increment() {
mu.Lock() // придобиване на mutex
defer mu.Unlock() // освобождаване на mutex
counter++
}