問題源於在每個環路迭代中創建一個新的
實例。 由於通常使用系統時鐘播種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中文網其他相關文章!