Sobes.tech
Senior

Оё барои мапа, ки як бор дар оғоз оғоз ёфта ва танҳо барои хондан истифода мешавад, ниёз ба ҳамоҳангсозӣ ҳаст?

sobes.tech AI

Ҷавоб аз 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 в нескольких горутинах без мьютексов
}