Junior — Senior
51
Несинхронный доступ к map из нескольких горутин
Условие задачи
Определите, какой вывод появится в консоли, учитывая, что несколько горутин одновременно записывают значения в обычный map без какой‑либо синхронизации. Обратите внимание на возможные последствия гонки данных.
func main() {
data := make(map[int]bool)
for i := 0; i < 10; i++ {
go func() {
data[i] = true
}()
}
time.Sleep(time.Second * 5)
for k, v := range data {
fmt.Println(k, v)
}
}