一开始我用值接收者更改struct中的map。 但是并发量一上来之后会出现concurrent map writes错误
改成指针接收者, 就不会出现这种问题。
想问下里面原理是什么?
有疑问加站长微信联系(非本文作者)

一开始我用值接收者更改struct中的map。 但是并发量一上来之后会出现concurrent map writes错误
改成指针接收者, 就不会出现这种问题。
想问下里面原理是什么?
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
不加指针类型取的是connManager的副本,每次拿的锁对象都是不一样的,所以锁没起作用。可以把connlock改成*sync.RWMutex
如果这样修改的话。 会发生错误 runtime error: invalid memory address or nil pointer dereference 也就是说, c.connLock 值为空?
解决了, 感谢!