您现在的位置:首页 --> 查看专题: 字典
一个需求:一个玩家数据的写入者,可以批量修改他的属性。但是,同时可能有其他线程在读这个玩家的数据(通过共享内存)。这可能造成,读方得到了不完整的数据。 我们可以不在乎读方得到某个时间的旧数据,但不可以读到一份不完整的版本。就是说,对玩家数据的修改,需要成组的修改,每组修改必须是原子的。 起先,我想用读写锁来解决这个问题。方案想好了,一直没有实现。只是把读写锁的基本功能实现了。 这几天这个问题被重提出来。因为,前段我们都采用了鸵鸟政策,当问题不存在(事实上我们也没有发现实际中出现可观测到的问题)。 反正探讨了好几个解决方案,一开始都是围绕怎么加锁,锁的粒度有多大来展开的。甚至,我们把其中的一种方案都实现出来了,并写了压力测试程序测试。不过,这些方案都不太令人满意。
[ 共1篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
-
[1169] WordPress插件开发 -- 在插件使用 -
[78] IOS安全–浅谈关于IOS加固的几种方法 -
[46] 读书笔记-壹百度:百度十年千倍的29条法则 -
[32] 关于IO的同步,异步,阻塞,非阻塞 -
[29] IP团伙行为分析(更新中文版报告) -
[28] 页面停留时间和网站停留时间详解 -
[24] iTerm2 (Mac Terminal) -
[24] Rax 系列教程(长列表) -
[22] AWS云平台系列介绍(一):AWS平台与EC -
[21] 我对学习oracle与成长的理解
赞助商广告