问题源于在每个环路迭代中创建一个新的
实例。 由于通常使用系统时钟播种Random
,因此迅速执行的循环可能会反复初始化具有相同种子的Random
解决方案:一个共享的实例Random
这是更正的Random
函数:
RandomNumber
通过使用单个
private static readonly Random random = new Random(); private static readonly object syncLock = new object(); public static int RandomNumber(int min, int max) { lock (syncLock) { // Thread-safe access return random.Next(min, max); } }
以上是为什么我的随机数发生器只会产生一个唯一的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!