【发布时间】:2011-09-21 23:51:31
【问题描述】:
这里已经很好地介绍了随机数,所以我会保持简短。
我使用srand 和rand 在模拟中生成一些确定性随机数。但是,当在单独的线程上同时运行多个模拟时,单个序列会变得混乱并变得不确定,因为所有线程都来自同一个池。有没有一种简单的方法可以“绑定”rand 以从特定实例中提取?还是我必须切换到Boost.Random 之类的东西?
【问题讨论】:
-
如果你的
srand和rand共享全局状态,你怎么知道它们是线程安全的? -
这实际上是一个非常好的点大卫。 0_o
-
其实,快速跟进问题。我现在使用了来自 boost 的随机标头,但即使我使用种子值,我也会为不同的编译选项(调试与发布等)获得不同的随机数。这是意料之中的吗?
-
后续问题应显示为新问题。
-
不,这听起来很奇怪。
标签: c++ multithreading random generator