go routine同时操作同一个结构体会有问题吗?

gojuukaze · · 1885 次点击
Go语言大佬Ross Cox的原话:“Don't communicate by sharing memory; Share memory by communicating." 在你的这里例子来看,不同的goroutine访问同一变量需要加锁。不过不推荐加锁,原因是影响性能。
#4
更多评论
这个是全局变量,整个包内共享,多个goroutine同时操作不是线程安全的,有这种情况建议加锁
#1
一般map和slice才会有问题, map会直接崩,slice虽然不会崩,但是数据可能会丢失
#2