🟢 Лёгкий · 1 очк. Пакет sync
Для чего нужен sync.Mutex?
A Запуска горутин
B Защиты общих данных от data race
C Ожидания горутин
D Кеширования
Объяснение вопроса

sync.Mutex обеспечивает взаимное исключение: только одна горутина может держать блокировку. Lock() блокирует до освобождения, Unlock() освобождает. Защищает критическую секцию от одновременного доступа.

var mu sync.Mutex
var counter int

func inc() {
    mu.Lock()
    defer mu.Unlock()
    counter++
}

Типичный паттерн: defer mu.Unlock() сразу после Lock(), чтобы не забыть разблокировать.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.