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