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