日期:2014-05-18 浏览次数:20785 次
Guid vGuid = new Guid(); byte[] vBuffer = vGuid.ToByteArray(); int vSeed = BitConverter.ToInt32(vBuffer, 0) ^ BitConverter.ToInt32(vBuffer, 4) ^ BitConverter.ToInt32(vBuffer, 8) ^ BitConverter.ToInt32(vBuffer, 12) ^ (Environment.TickCount & 0xFFFFFF); Random vRandom = new Random(vSeed);
------解决方案--------------------
无论是双核还是单核...获取随机数时都会重复
解决问题有两种方法..
1将发生的随机数过滤,过滤掉重复的项,这种情况对应随机数大小不确定的情况.
2对于随机数大小,或范围确定的情况,可以使用顺序初始化,随机打乱的方案.