Что будет если не синхронизировать доступ к переменной?

Middle
232 просмотров
AFK Offer AI

Это data race — undefined behavior в Go. Программа может работать «правильно» на твоей машине и крашиться в проде. Ты можешь читать мусорные значения, получить torn write для структур больше машинного слова, или компилятор вообще оптимизирует код неожиданно. Race detector (-race флаг) находит такие проблемы, но только если data race реально срабатывает при тесте.

Следующий вопрос

Как обрабатывать данные параллельно?