Назад к задачам
Junior — Senior
8

Оптимизация и исправление конкурентного доступа к карте

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо улучшить представленный код, устранив потенциальные проблемы при параллельных записях в общую структуру данных.

func main() {
    m := map[string]int{
        "one":    1,
        "two":    2,
        "three":  3,
        "four":   4,
    }

    for key := range m {
        key := key
        go func() {
            time.Sleep(time.Millisecond * 100)
            m[key]++
        }()
    }

    fmt.Println("Map after writes:", m)
}