100%的时间内GUID是唯一的吗?

100%的时间内GUID是唯一的吗?

它会在多个线程中保持独特吗?


虽然每个生成的GUID不能保证是唯一的,但唯一键的总数(2 ^ 128或3.4×10 ^ 38)非常大,以致相同数字生成两次的概率非常小。 例如,考虑可观测的宇宙,其中包含约5×10 ^ 22星; 每颗恒星可以拥有6.8×10 ^ 15个通用唯一GUID。

从维基百科。


这些是关于如何创建GUID(针对.NET)的一些很好的文章,以及如何在正确的情况下获得相同的GUID。

http://ericlippert.com/2012/04/24/guid-guide-part-one/

http://ericlippert.com/2012/04/30/guid-guide-part-two/

http://ericlippert.com/2012/05/07/guid-guide-part-three/


简单的答案是肯定的。

Raymond Chen写了一篇关于GUID的好文章,以及为什么GUID的子串不保证是唯一的。 这篇文章深入探讨了GUID生成方式以及它们用来确保唯一性的数据,在解释它们的原因时应该花费一些时间:-)


如果您害怕使用相同的GUID值,请将它们中的两个放在一起。

Guid.NewGuid().ToString() + Guid.NewGuid().ToString();

如果你太偏执,那就把三个。

链接地址: http://www.djcxy.com/p/16255.html

上一篇: Is a GUID unique 100% of the time?

下一篇: PHP function to generate v4 UUID