看起来 lru.Cache 对于并发访问并不安全。 这个对吗? 如果是这样,您会反对我添加互斥锁吗?
我是开源贡献的新手,这看起来可能很容易获胜。
用新的 sync.Map 替换当前地图有什么缺点?
你好,
我希望我没有多余的回应,但我注意到这个线程已经沉默了一段时间。
从 groupcache.go 中查看,lru 仅以线程安全的方式使用。 因此,LRU 将其锁定策略留给调用代码。 我认为这是合理的,因为这样可以避免双重锁——不存在谁必须实现锁定,或者它应该在代码中的什么位置的问题。
sync.Map 上有几个资源:
https://www.youtube.com/watch?v=C1EtfDnsdDs
https://medium.com/@deckarep/the-new-kid-in-town-gos-sync-map-de24a6bf7c2c
所以,我想问题是:你在 groupcache 中是否有衡量缓存争用的问题? :-)
干杯,
一点也不多余,你的评论很有意义。 我很满意。 谢谢!
最有用的评论
你好,
我希望我没有多余的回应,但我注意到这个线程已经沉默了一段时间。
从 groupcache.go 中查看,lru 仅以线程安全的方式使用。 因此,LRU 将其锁定策略留给调用代码。 我认为这是合理的,因为这样可以避免双重锁——不存在谁必须实现锁定,或者它应该在代码中的什么位置的问题。
sync.Map 上有几个资源:
https://www.youtube.com/watch?v=C1EtfDnsdDs
https://medium.com/@deckarep/the-new-kid-in-town-gos-sync-map-de24a6bf7c2c
所以,我想问题是:你在 groupcache 中是否有衡量缓存争用的问题? :-)
干杯,