GUID算法如何处理"时钟序列"?

时间:2018-03-02 08:05:39

标签: guid implementation

GUID算法生成从3值开始的算法:

  • 网卡的MAC地址
  • 当前时间戳,分辨率为100纳秒
  • 称为"时钟序列":基于GUID的RFC,当向后设置时钟或者时间戳没有从上一次GUID生成更改时,此值会递增。

那么,GUID算法如何处理"时钟序列"?它可能是硬件机制吗?它是一个踏步和过程安全的软件程序吗?当计算机具有每100纳秒产生如此多GUID的计算能力以重置"代码序列时会发生什么?也许到目前为止GUID已经过时了......

1 个答案:

答案 0 :(得分:0)

任何编写它的人都可以免费实施。对于提供GUID的每个语言/编译器/库,您都不会得到SO的答案。

来自RFC4122

  

如果时钟序列的先前值已​​知,则可以递增;否则应将其设置为随机或高质量的伪随机值。

所以大多数开发人员只选择后者。

时钟设置后退只是时钟序列的原因。时钟序列没有链接到硬件时钟或类似的东西。