为了账号安全,请及时绑定邮箱和手机立即绑定

关于写写并行 的想法

基于比较冰交换算法的无锁并发控制方法。更新数据时使用cas(v,e,n)算法,v表示更新的变量,e,表示预期值,n表示新值只有v=e时才将v设置为n。如果v!=e说明其他线程对变量进行了修改,此时被告知失败,但是该线程不会被挂起,并且允许再次尝试。

正在回答

1 回答

CAS应该不能这么用,我给你说说我的想法吧:

        第一个参数V的本质是一个内存地址,也就是说得在内存中才行。而数据库中的数据一般不再内存中,所以很可能在此之前出现IO操作。CPU可以保证CAS的原子性。但是不能保证CAS+IO的原子性。如果是对缓存中的数据操作,你的想法应该可行。其实这些太底层的东西我也不太敢过于思考。以上只是我的想法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
在线分布式数据库原理与实践
  • 参与学习       42363    人
  • 解答问题       53    个

一起学习事务与分布式事务原理与实践干货,欢迎收藏

进入课程

关于写写并行 的想法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信