一.Random 類
Random類默認(rèn)的無參構(gòu)造函數(shù)可以根據(jù)當(dāng)前系統(tǒng)時(shí)鐘為種子,進(jìn)行一系列算法得出要求范圍內(nèi)的偽隨機(jī)數(shù).
| 12 | Random rd = newRandom(); inti = rd.Next(); |
這種隨機(jī)數(shù)可以達(dá)到一些要求較低的目標(biāo),但是如果在高并發(fā)的情況下,Random類所取到的系統(tǒng)時(shí)鐘種子接近甚至完全一樣,就很有可能出現(xiàn)重復(fù),這里用循環(huán)來舉例
| 12345 | for(inti = 0; i < 10; i++) { Random rd = newRandom(); //無參即為使用系統(tǒng)時(shí)鐘為種子 Console.WriteLine(rd.Next().ToString()); } |
這個(gè)例子會(huì)輸出10個(gè)相同的"隨機(jī)數(shù)".
突顯出的問題:因?yàn)镽andom進(jìn)行偽隨機(jī)數(shù)的算法是固定的,所以根據(jù)同一個(gè)種子計(jì)算出的數(shù)字必然是一樣的.而以當(dāng)代計(jì)算機(jī)的運(yùn)行速度,該循環(huán)幾乎是在瞬間完成的,種子一致,所以會(huì)出現(xiàn)10次循環(huán)輸出同一隨機(jī)數(shù)的情況.
|
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注