close

C#中產生GUID的方法為 Guid g = Guid.NewGuid();



guid是用電腦的網卡編號+cpu編號+時間+亂數產生的

 

GUID是128位元的整數所以總共有 2^128 = 3.4028236920938e+38 個數值
假設每秒產生1000個GUID那麼一年共產生 60*60*24*365*1000 = 31536000000 個GUID
把總數除以每年產量得知 (2^128) / 31536000000 = 107902830707806014188970529154.99 年後
將會把所用的GUID用完
但是考慮到已產生的GUID越多就越有可能跟新產生的GUID重覆
所以要控制在一個比較安全的機率下假設是1000兆分之1

107902830707806014188970529154.99 / 1000兆 = 107902830707806.014 年


以上分析可得知
一台電腦日以繼夜全年無休以每秒產生1000個GUID的速度下
在107902830707806.014 年之內GUID重覆的機率在 1000兆分之1以下

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 11 的頭像
    11

    冠霖的部落格

    11 發表在 痞客邦 留言(2) 人氣()