Почему map не потокобезопасна?

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

Map в Go не имеет встроенной синхронизации — если две горутины одновременно читают и пишут в одну map, будет fatal error (не race condition, а именно крэш, рантайм это детектит). Сделано осознанно: встроенная синхронизация замедлила бы все map-ы, а конкурентный доступ нужен далеко не всегда. Поэтому если нужен concurrent access — защищай sync.Mutex/RWMutex или используй sync.Map.

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

Что такое чистая архитектура в Go?