多线程生成随机数

问题描述:

在多线程情况下,调用Random的Next方法获取随机数较长时间后,获取的随机数将都是0。

 

解决办法:

1、  使用RandomNumberGenerator类获取随机数

2、  把Random进行线程安全的封装

class ThreadSafeRandom
{
    private static Random random = new Random();

    public static int Next()
    {
       lock (random)
       {
           return random.Next();
       }
    }
}


阅读更多
文章标签: 多线程 random class
个人分类: 01_C#.NET
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭