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

Если несколько горутин обращаются к одной памяти и хотя бы одна пишет без синхронизации, возникает data race. Результат нельзя считать предсказуемым или безопасным.

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

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

Если несколько горутин обращаются к одной памяти и хотя бы одна пишет без синхронизации, возникает data race. Результат нельзя считать предсказуемым или безопасным.

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

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

Условие

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

Ответ

Если несколько горутин обращаются к одной памяти и хотя бы одна пишет без синхронизации, возникает data race. Результат нельзя считать предсказуемым или безопасным.

Возможны потерянные обновления, устаревшие значения и повреждение составных структур. Одних sleep или Gosched для исправления недостаточно. Используйте mutex, атомики или передачу владения и проверяйте реальные сценарии race detector, помня об ограниченности тестового покрытия.

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

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

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

Подробнее