RWMutex защищает изменяемое состояние читательскими и писательскими locks, а atomic.Value публикует целое значение атомарно. Почему выбран вариант, зависит от структуры обновлений.
Почему `RWMutex` не использован в текущем решении и чем он отличается от `atomic.Value`?
RWMutex защищает изменяемое состояние читательскими и писательскими locks, а atomic.Value публикует целое значение атомарно. Почему выбран вариант, зависит от структуры обновлений.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
RWMutex защищает изменяемое состояние читательскими и писательскими locks, а atomic.Value публикует целое значение атомарно. Почему выбран вариант, зависит от структуры обновлений.
Для редко обновляемого неизменяемого snapshot atomic.Value позволяет читателям брать готовую версию без удержания read-lock. Это не защищает последующее изменение map внутри значения и не координирует несколько писателей автоматически. RWMutex удобен для изменений на месте и связанных инвариантов. Без текущего кода нельзя подтвердить причину выбора; её обосновывают моделью владения и измерениями.