Junior — Senior
67
Одновременное чтение и запись в map в Go
Компании, где спрашивали:
Lamoda Tech
Условие задачи
Что происходит, если из разных горутин одновременно выполнять операции чтения и записи в map? Появятся ли ошибки, и существуют ли какие‑либо ограничения?
var data = map[string]int{"a": 1}
func main() {
go reader()
time.Sleep(1 * time.Second)
go writer()
time.Sleep(1 * time.Second)
}
func reader() {
for {
fmt.Println(data["a"])
}
}
func writer() {
for {
data["a"] = 2
}
}