Что такое sync.Map и когда её использовать?

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

sync.Map — потокобезопасная map из стандартной библиотеки. Оптимизирована для двух сценариев: когда ключ записывается один раз, а читается много (кэш); и когда горутины работают с разными ключами (нет contention). В остальных случаях обычная map + RWMutex будет быстрее. У sync.Map нет дженериков — всё через interface{}, что неудобно и требует type assertion. Методы: Store, Load, LoadOrStore, Delete, Range.

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

Как спроектировать чат систему?