根据Go博客,
映射对于并发使用是不安全的:它没有定义当您同时读取和写入时会发生什么.如果您需要从同时执行的goroutine中读取和写入映射,则访问必须由某种同步机制调解.(来源:https://blog.golang.org/go-maps-in-action)
任何人都可以详细说明这个吗?并发读取操作在例程中似乎是允许的,但是如果尝试读取和写入相同的键,则并发读/写操作可能会生成竞争条件.
在某些情况下可以降低最后的风险吗?例如:
这不是代码(显然),但我认为它显示了一个案例的轮廓,即使A和B都试图访问m,也不会出现竞争条件,或者如果有的话也无关紧要因为额外的限制.