Back to questions
Senior
3
Если map инициализирована один раз при старте и используется только на чтение — нужна ли синхронизация?
Companies where asked
Small
Answer from AI
sobes.tech AI
Если map инициализирована один раз при старте программы и после этого используется только для чтения, то синхронизация не нужна. В Go чтение из map безопасно для конкурентного доступа, если при этом никто не пишет в эту map. Главное — гарантировать, что запись (инициализация) завершена до начала параллельных чтений.
Пример:
var m map[string]int
func initMap() {
m = map[string]int{"a": 1, "b": 2}
}
func readMap(key string) int {
return m[key]
}
func main() {
initMap() // инициализация до запуска горутин
// теперь можно безопасно читать из m в нескольких горутинах без мьютексов
}