new Random().Next(1, 100); 多线程同时执行结果很高概率相同,
生活随笔
收集整理的這篇文章主要介紹了
new Random().Next(1, 100); 多线程同时执行结果很高概率相同,
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/// <summary>/// new Random().Next(1, 100); 多線程同時(shí)執(zhí)行結(jié)果很高概率相同,/// 是用的當(dāng)前時(shí)間為seed,時(shí)間相同結(jié)果相同/// /// 解決隨機(jī)數(shù)重復(fù)問題/// 同時(shí)模擬遠(yuǎn)程請(qǐng)求的隨機(jī)延時(shí)/// </summary>public class RandomHelper{/// <summary>/// 隨機(jī)獲取數(shù)字并等待1~2s/// </summary>/// <returns></returns>public int GetRandomNumberDelay(int min, int max){Thread.Sleep(this.GetRandomNumber(500, 1000));//隨機(jī)休息一下return this.GetRandomNumber(min, max);}/// <summary>/// 獲取隨機(jī)數(shù),解決重復(fù)問題/// </summary>/// <param name="min"></param>/// <param name="max"></param>/// <returns></returns>public int GetRandomNumber(int min, int max){Guid guid = Guid.NewGuid();//每次都是全新的IDstring sGuid = guid.ToString();int seed = DateTime.Now.Millisecond;for (int i = 0; i < sGuid.Length; i++){switch (sGuid[i]){case 'a':case 'b':case 'c':case 'd':case 'e':case 'f':case 'g':seed = seed + 1;break;case 'h':case 'i':case 'j':case 'k':case 'l':case 'm':case 'n':seed = seed + 2;break;case 'o':case 'p':case 'q':case 'r':case 's':case 't':seed = seed + 3;break;case 'u':case 'v':case 'w':case 'x':case 'y':case 'z':seed = seed + 3;break;default:seed = seed + 4;break;}}Random random = new Random(seed);return random.Next(min, max);}}
總結(jié)
以上是生活随笔為你收集整理的new Random().Next(1, 100); 多线程同时执行结果很高概率相同,的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阳台适合铺贴哪种瓷砖?阳台装修先封阳台还
- 下一篇: 腾讯哪个软件可以借钱