Bra*_*exe 4 c# random thread-safety
我使用单个Random实例在Parallel查询中快速获取随机数,但我注意到,最终Random.Next总是返回零.这有什么理由吗?
Parallel
Random.Next
Jon*_*eet 18
Random不是线程安全的.您应该Random为每个线程使用不同的实例.我建议您不要建议锁定,否则如果这是您整个时间的重要部分,那么最终可能不会比在单个线程中运行它更快.相反,您可以使用线程局部变量为每个线程创建一个单独的实例 - 注意确保不会意外地为所有实例使用相同的种子,这会在每个线程中为您提供相同的数字序列.
Random
有关更多详细信息,请参阅我的随机性文章,包括示例代码.
归档时间:
11 年,10 月 前
查看次数:
4453 次
最近记录: