Sobes.tech
Back to questions
Junior — Middle
80

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

Companies where asked
СБЕРСБЕР
Киберпротект

Answer from AI

sobes.tech AI

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

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

var mu sync.Mutex
var counter int

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

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