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

Является ли mutex инструментом синхронизации потоков?

Компании, где спрашивали
Цифровая Эволюция

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

sobes.tech AI

Да, mutex (взаимное исключение) является инструментом синхронизации потоков. В Go это структура sync.Mutex, которая позволяет ограничить одновременный доступ к общим ресурсам, предотвращая состояния гонки. Когда один поток (горутинa) захватывает mutex, другие, пытающиеся его захватить, блокируются до освобождения mutex.

Пример использования mutex в Go:

var mu sync.Mutex
var counter int

func increment() {
    mu.Lock()           // захват mutex
    defer mu.Unlock()   // освобождение mutex
    counter++
}