根据矢量时钟的维基百科页面:
If VC(a) < VC(b) then a -> b
VC - Vecor Clock
-> - casually related
但是如果我们有以下模式:点击这里查看图片
现在我们可以看到 VC(1,0,1( 和 VC(0,2,2( 的事件,它们满足条件:
sqrt(1+0+1) < sqrt(0+4+4) => sqrt(2) < sqrt(8) //TRUE
但是这两个事件(VC(1,0,1(和VC(0,2,2((不在偶然顺序关系中!
有人可以告诉我这里出了什么问题,我错过了什么吗?
不确定你在这里的事件是什么意思!
如果参与者 x 有一个矢量时钟 VC(x( = VC(1, 0,1(,并且参与者 y 有一个矢量时钟 VC(y( = VC(0, 2, 2(,那么。- 有一个事件,参与者 x 知道 y 不知道(或依赖于因果关系(。当时钟的第一个值从 0 更改为 1 时,会发生此事件。
- 此外,有三个事件是y知道的,x不知道的(或因果关系依赖于(。当矢量时钟上的第二个和第三个值递增时,就会发生这些事件。 所以:
VC(x( 不是 <= VC(y(VC(y( 不是 <= VC(x(
这些时钟没有因果依赖关系,不能直接比较。