Сопоставляет оба стека отчёта с общим полем или контейнером
Зачем
Зачем это нужно
Проверяет, что чтение и запись защищены одним и тем же правилом
Предлагает локальное владение или канал вместо глобальной блокировки
Вопросы
Частые вопросы
Если тест с race detector зелёный, гонок точно нет?
Нет, детектор замечает только конфликт, который реально произошёл во время запуска. Нужны сценарии с достаточной параллельностью и повторениями. Модель поможет усилить тест барьерами и большим числом операций, но отсутствие отчёта остаётся свидетельством прогона, а не математическим доказательством.
Когда использовать mutex, а когда канал?
Mutex удобен для короткой защиты общего состояния, канал — когда данные естественно принадлежат одному владельцу и остальные отправляют ему команды. Модель разложит доступы вашего кода. Канал ради каждого чтения может усложнить простой кэш, а mutex вокруг сетевого вызова создаст очередь.
Почему обычная map падает только иногда?
Параллельная запись и чтение не поддерживаются, а точное пересечение зависит от планировщика. Под нагрузкой окно становится шире. Нужно централизовать доступ или защищать map; проверка перед записью без той же блокировки тоже является гонкой. Модель покажет критическую секцию целиком.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.