[Go] 解决go的fatal error: concurrent map writes map非并发安全

[Go] 解决go的fatal error: concurrent map writes map非并发安全

map不是并发安全的 , 当有多个并发的groutine读写同一个map时 

会出现panic错误

concurrent map writes

 

例如下面的代码会出现这个错误:

var mMap map[int]int

func TestMyMap(t *testing.T) {
    mMap = make(map[int]int)

    for i := 0; i < 5000; i++ {
        go func() {
            mMap[i] = i
        }()
        go readMap(i)
    }
}
func readMap(i int) int {
    return mMap[i]
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » [Go] 解决go的fatal error: concurrent map writes map非并发安全