麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

Random的實現(xiàn)原理

2019-11-17 03:13:32
字體:
供稿:網(wǎng)友

Random的實現(xiàn)原理

在知乎上看到老趙回答了你在編程時見過最愚蠢的 Bug 是什么?


首先是段JS代碼:
var number = 10;var showNumber = function () {  alert(number);} (function () {  number = 20;  showNumber();})()
不要運行,猜猜看這段代碼會alert出什么結(jié)果來?答案是:10。好吧,為什么不是20?再來一段.NET的:
var numbers = new int[10];// 生成10個隨機數(shù)for (var i = 0; i < numbers.Length; i++) {  numbers[i] = new System.Random().Next();}
生成10個隨機數(shù),盡管每次運行結(jié)果都不同,但為什么每次這10個數(shù)字都是相同的?
其中第一js是因為沒在showNumber后面(第四行)加“;”;第二.NET的隨機數(shù)這個問題我倒是沒遇到過,幾乎每次只會用一個不會一次調(diào)用多個,所以沒注意。先看看msdn怎么說: Random構(gòu)造函數(shù)Random() 使用與時間相關(guān)的默認種子值,初始化Random類的新實例。 The default seed value is derived from the system clock and has finite resolution.As a result, differentRandomobjects that are created in close succession by a call to the default constructor will have identical default seed values and, therefore, will PRoduce identical sets of random numbers.This problem can be avoided by using a singleRandomobject to generate all random numbers.You can also work around it by modifying the seed value returned by the system clock and then explicitly providing this new seed value to theRandom(Int32)constructor.(英語不好,就貼原文了) Random的種子利用的是系統(tǒng)時鐘種子。而Windows系統(tǒng)時鐘的更新頻率大概在10ms左右(各個版本不一樣),而這個for循環(huán)的執(zhí)行顯然要快得多,那每次利用的就是同一個種子,種子相同,Random產(chǎn)生相同的隨機數(shù)(即使實例不同也一樣)。所以返回的10個值都是一樣的了。 解決方法: 第一種利用Thread.Sleep讓線程休眠一段時間(時間大于Windows系統(tǒng)時鐘的更新頻率),這個不推薦使用。 第二種將初始化移出循環(huán): var numbers = new int[10]; // 初始化Random System.Random rd = new System.Random(); for (var i = 0; i < numbers.Length; i++) { numbers[i] = rd.Next(); }參考文檔:MSDN:Random 類Random的實現(xiàn)原理
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品99在线视频 | 国产精品亚洲一区二区三区在线观看 | 91福利国产在线观一区二区 | 精品一区二区三区中文字幕 | 国产一级爱c视频 | 久久久麻豆| 免费黄色在线观看网站 | 久久精品国产亚洲7777小说 | 色淫影院 | 黄色av一区二区三区 | 羞羞的 | 亚洲视频精选 | 18视频在线观看娇喘 | 久久一本日日摸夜夜添 | 成人区一区二区 | 国产成人高潮免费观看精品 | 国产日韩久久久久69影院 | 色播视频在线播放 | 亚洲午夜影院在线观看 | 最近免费观看高清韩国日本大全 | jizzjizzjizz少妇| a网在线 | 国产一级αv片免费观看 | 欧美18—19sex性hd | 久久蜜桃香蕉精品一区二区三区 | 精品国产乱码久久久久久久 | www.热| 国产美女爽到喷白浆的 | 国产成人精品一区在线播放 | 极品xxxx欧美一区二区 | 国产精品麻豆一区二区三区 | 久久视讯| 中文日韩字幕 | 国产九色在线观看 | 色诱亚洲精品久久久久久 | 免费毛片观看 | 91成人免费网站 | 91在线视频精品 | 国产91片 | 天天好比网 | 黄视频网站免费 |