RWMutex допускает несколько читателей либо одного писателя, но не является универсально лучшим mutex. Польза зависит от соотношения и длительности операций.
Почему `sync.RWMutex` считается универсальным и как он работает при чтении и записи?
RWMutex допускает несколько читателей либо одного писателя, но не является универсально лучшим mutex. Польза зависит от соотношения и длительности операций.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
RWMutex допускает несколько читателей либо одного писателя, но не является универсально лучшим mutex. Польза зависит от соотношения и длительности операций.
RLock используют только для доступа без изменения защищённого состояния; Lock блокирует и читателей, и других писателей. Нельзя безопасно «повысить» удерживаемый RLock до Lock без отдельного протокола. Для коротких критических секций обычный Mutex может быть проще и быстрее. Сложность и производительность нужно оценивать на реальной нагрузке.