java 弱一致性_java – 因果一致性与顺序一致性有何不同?

在顺序一致性中,所有节点操作对所有节点都显示为按某种顺序出现.

因此,在您的示例中,进程1,2和3将以相同的顺序看到内存操作. (4个操作有6个可能的订单,但所有流程都会就该订单的内容达成一致.)

在因果一致性过程中,1,2和3都可以观察到这些写入以不同的顺序发生.有两个规则:

>每个人都同意我写的过程发生在我执行过程的相同顺序中.

>如果任何进程,i,读取位置x并获得由不同进程j写入的值,那么所有线程都同意进程j写入位置x先于进程i读取位置x.

因为,在您的原始示例中没有读取操作,因此例如,进程1可以认为写入按x = 1,y = 2,z = 5,p = 3的顺序发生,而进程2认为写入以z = 5,p = 3,x = 1,y = 2的顺序发生,并且过程3认为它们按照z = 5,x = 1,p = 3,y = 2的顺序发生.

因果记忆本身似乎不是很有用.在本文的后面,他们展示了如何实现某种类似于具有因果记忆的障碍(以及辅助过程),但是提到似乎没有任何方便的方法来实现关键部分.

因此,他们最终会做一些弱一致或释放一致记忆的事情,并添加一个需要按顺序一致的同步原语.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值