C# Random类的正确应用方法
Random类一个用于产生 Random类的构造方式有两种。由于Random的 运行结果:所以在生产中通常可以考虑将Random单例化,以保证其随机算法的序列独一性。这个问题在.net core下官方组件已对Random的构建作优化,所以上面的案例代码如果放在.net core项目下运行,你会发现可以正确的生成随机数。不过为了代码的延续性,还是建议Random作为单例模式设计。根源还是在 网上有很多多线程下Random的解决方案,我查阅了一些感觉都不是很好。再深入思考下,对于集群部署情况,多台服务器同时运行,上述的Random随机性能保证吗?聪明的小伙伴应该能想到在不同服务器上,由于初始seed相同,可能又导致Random的随机性相同的情况发生。这样,到这里Random的随机性问题终于可以告一段落了。
下载地址
用户评论