Sobes.tech
Назад к вопросам
Junior — Middle
77

Для чего используют механизм взаимного исключения (Mutex) в многопоточном программировании?

Компании, где спрашивали
СБЕРСБЕР
Киберпротект

Ответ от нейросети

sobes.tech AI

Механизм взаимного исключения (Mutex) в многопоточном программировании используется для предотвращения одновременного доступа нескольких потоков к общим ресурсам или критическим секциям кода. Это позволяет избежать состояний гонки, повреждения данных и обеспечивает корректность работы программы.

В Go для этого часто используют sync.Mutex:

var mu sync.Mutex
var counter int

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

Таким образом, только один поток может выполнять код между Lock и Unlock одновременно.