众所周知,矢量时钟检测事件之间的因果依赖关系,但有不同的实现方法。之间有什么区别(优点/缺点)
- 仅在发送(之前)时勾选
- 仅在发送(之后)时勾选
- 接收时打勾,发送前打勾
- 接收时打勾,发送后打勾
假设在发送前打勾,在接收前也打勾。在此之前的单词意味着表示发送/接收的事件将具有正好在矢量时钟刚刚用记号更新之后的矢量时钟时间戳。
原因是有两个进程,发送方进程和接收方进程。
它需要勾选发送事件,以便发送方进程知道刚刚发生了发送事件。相应地,它还需要在接收事件中打勾,以便接收器进程知道刚刚发生了接收事件。
否则,如果发送方或接收方没有出现勾号,则会违反Lamport的前发生关系。