有别的类型可以替代么?实现类似下面的功能
tmp,_ := testlist.Load(2)
tmp.(UserInfo).Name = "test55"
1
xkeyideal 2021 年 2 月 9 日
仅限于这两行代码,先想想有没有并发问题
|
2
virusdefender 2021 年 2 月 9 日
给自己的 map 加个锁就行吧,你这样写可能还会有竞争
|
3
dongtingyue OP @xkeyideal sync.Map 不支持 load 后直接修改,只是示例下。
|
4
dongtingyue OP @virusdefender 还有别的方法么?相当于存用户位置,经常改变和读取全部用户位置这样。
|
5
xkeyideal 2021 年 2 月 9 日
@dongtingyue 没有什么好办法,sync.Map 的适用场景是读多写少,可以看看压测对比,性能没有优势的;你这种需求本身只能拿出来修改
|
6
dbskcnc 2021 年 2 月 9 日 via Android
a8m/syncmap 挺好用
|
7
sdh 2021 年 2 月 9 日 via Android
存指针就好*UserInfo
|
8
Dongxiem 2021 年 2 月 9 日
如楼上所说,如果是写多的情况不应该使用 sync.map 啊,尝试使用 sync.mutex 吧!
|