с конкуррентным доступом на read/add можно ли пользоваться верхней мапой без мьютекса?
Я бы композитный ключ выбрал, а при доступе из разных потоков синхронизация всегда нужна
Ну на чтение же не нужна синхронизация. Я почему то думал, что если я читаю и добавляю - рейсов не будет
sync.RWMutex В стандартной библиотеке для решения этой ситуации есть тип sync.RWMutex. Помимо Lock()/Unlock(), у RWMutex есть отдельные аналогичные методы только для чтения — RLock()/RUnlock(). Если метод нуждается только в чтении — он использует RLock(), который не заблокирует другие операции чтения, но заблокирует операцию записи и наоборот.
Обсуждают сегодня