Что ещё, кроме мьютекса, можно использовать для защиты от race condition?

Кроме mutex используют атомарные операции, каналы с единственным владельцем состояния, неизменяемые снимки и разделение данных. Выбор зависит от защищаемого инварианта.

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

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

Кроме mutex используют атомарные операции, каналы с единственным владельцем состояния, неизменяемые снимки и разделение данных. Выбор зависит от защищаемого инварианта.

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

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

Кроме mutex используют атомарные операции, каналы с единственным владельцем состояния, неизменяемые снимки и разделение данных. Выбор зависит от защищаемого инварианта.

Атомик подходит для независимого счётчика или публикации ссылки, но несколько атомарных полей не делают составное изменение атомарным. Канал помогает организовать последовательную обработку одним владельцем, если другие горутины не обходят этот протокол.

Иногда лучший способ — вообще не разделять изменяемые данные. Race detector помогает искать гонки в выполненных сценариях, но его молчание не доказывает отсутствие всех возможных гонок.

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

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

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

Подробнее