C#循环中使用Random生成随机数有重复问题

如果在高并发的情况下,Random类所取到的系统时钟种子接近甚至完全一样,就很有可能出现重复,这里用循环来举例

for (int i = 0; i < 10; i++)
{
    Random rd = new Random();  //无参即为使用系统时钟为种子
    Console.WriteLine(rd.Next().ToString());
}


解决方法使用System.Guid 作为种子

Random rd = new Random(Guid.NewGuid().GetHashCode()); 



转载:http://www.uuxin.com/post/257.html

猜你喜欢

转载自blog.csdn.net/qq_23944441/article/details/80537246
今日推荐