小编sh *_* sh的帖子

Golang,与当地地图的竞争条件

我似乎并不完全理解Go中的地图.

我有这个代码:

fetch := map[string]int{some data}

for condition {
    fetchlocal := map[string]int{}

    for key, value := range fetch {
        if condition {
            fetchlocal[key] = value
        }
    }

    go threadfunc (fetchlocal)
}
Run Code Online (Sandbox Code Playgroud)

现在,无论threadfunc函数使用fetchlocal变量,Go(go -race)都会发出警告:数据竞争.我也有一些恐慌.但为什么?fetchlocal变量不被任何其他goroutine使用.

有人可以开导我吗?

go race-condition goroutine

5
推荐指数
1
解决办法
1233
查看次数

标签 统计

go ×1

goroutine ×1

race-condition ×1