[имя] спросил: расскажите про примитивы синхронизации в GoLang.

Основные средства Go — Mutex/RWMutex, WaitGroup, Once, Cond, атомики и каналы. Они решают разные задачи: защиту состояния, ожидание, инициализацию и передачу сигналов.

Короткий ответ

Что ответить на собеседовании

Основные средства Go — Mutex/RWMutex, WaitGroup, Once, Cond, атомики и каналы. Они решают разные задачи: защиту состояния, ожидание, инициализацию и передачу сигналов.

Подробный разбор

Ответ с пояснениями

Основные средства Go — Mutex/RWMutex, WaitGroup, Once, Cond, атомики и каналы. Они решают разные задачи: защиту состояния, ожидание, инициализацию и передачу сигналов.

WaitGroup не защищает данные, Once не выполняет retry, RWMutex не гарантирует ускорение чтений. Каналы помогают передавать владение, но сами не устраняют все гонки. Выбирайте примитив по инварианту и жизненному циклу, обеспечивая завершение ожиданий и единый порядок блокировок.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее