Назад к вопросам
СБЕР
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 одновременно.