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

Конкурентный доступ к глобальной карте из горутин

Компании, где спрашивали:

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

В программе объявлена глобальная карта типа map[string]int, к которой одновременно обращаются несколько горутин – одна только читает, другая только пишет. Какой результат будет при запуске следующего кода?

package main

import (
    "fmt"
    "time"
)

var dataMap = 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(dataMap["a"])
    }
}

func writer() {
    for {
        dataMap["a"] = 2
    }
}