在冒险重复之前,您可以随机生成多少次GUID?(.净)

Nib*_*Pig 5 .net math probability

从数学角度来说,我认为即使在.NET框架中使用内置方法生成的两个随机GUID也是相同的,但如果生成数百或数千,它们大概有可能发生冲突?

如果您为世界上的每个Windows副本生成一个,它们会发生冲突吗?

我问的原因是因为我有一个程序可以创建很多对象,并且也会破坏一些对象,我想知道任何这些对象(包括被破坏的对象)具有相同GUID的可能性.

Han*_*ant 7

有~3E38个可能的GUID值.但生日悖论削减50/50的几率产生重复的GUID到〜1E19.虽然仍然是一个巨大的数字,与首先摧毁流星冲击机器的可能性相比,系统时钟用于确保不会发生重复.

许多大型和关键任务dbase应用程序使用GUID作为表中的主键.不要犹豫跟随他们的领导.


Mid*_*hat 5

GUID具有基于的组件

  • 时间(系统时钟)

  • 空间(系统MAC地址)

  • 随机数

因此,如果在sam etime为世界上的每台机器生成一台机器,则它们的MAC和随机数会有所不同

这是一个有用的链接.http://blogs.msdn.com/oldnewthing/archive/2008/06/27/8659071.aspx