您现在的位置:首页 --> 查看专题: 原子字典
一个需求:一个玩家数据的写入者,可以批量修改他的属性。但是,同时可能有其他线程在读这个玩家的数据(通过共享内存)。这可能造成,读方得到了不完整的数据。 我们可以不在乎读方得到某个时间的旧数据,但不可以读到一份不完整的版本。就是说,对玩家数据的修改,需要成组的修改,每组修改必须是原子的。 起先,我想用读写锁来解决这个问题。方案想好了,一直没有实现。只是把读写锁的基本功能实现了。 这几天这个问题被重提出来。因为,前段我们都采用了鸵鸟政策,当问题不存在(事实上我们也没有发现实际中出现可观测到的问题)。 反正探讨了好几个解决方案,一开始都是围绕怎么加锁,锁的粒度有多大来展开的。甚至,我们把其中的一种方案都实现出来了,并写了压力测试程序测试。不过,这些方案都不太令人满意。
[ 共1篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [71] Twitter/微博客的学习摘要
- [67] Go Reflect 性能
- [65] find命令的一点注意事项
- [63] 流程管理与用户研究
- [62] IOS安全–浅谈关于IOS加固的几种方法
- [61] Oracle MTS模式下 进程地址与会话信
- [61] 如何拿下简短的域名
- [61] android 开发入门
- [60] 图书馆的世界纪录
- [60] 读书笔记-壹百度:百度十年千倍的29条法则
赞助商广告