【发布时间】:2013-10-03 23:07:44
【问题描述】:
我目前正在运行一个通过雪包(使用clusterApplyLB)进行多线程的程序,并且在代码中我生成了一个随机数,但似乎线程都使用相同的种子来生成这个数字,所以他们给出相同的结果。
有没有办法让不同的线程以不同的种子开始?
我不能只为每个线程生成一个随机种子,因为这会有同样的问题,而且我也不热衷于在每个线程调用的函数中为种子设置一个新的索引参数的想法(即,被调用的函数将 1:32 分配为每个线程的种子,因为这并不是真正的“随机”。)
【问题讨论】:
-
您能否给出一个出现问题的最小代码示例?例如让几个线程抽取一些随机数并显示它们都存储相同的结果。
-
也许这会有所帮助? users.stat.umn.edu/~geyer/parallel
-
@Aaron
rlecuyer包看起来正是我想要的,请随时添加它作为答案,以便我接受。否则我会把它扔在那里给其他寻找它的人。 -
很高兴听到它有帮助。继续自己回答,谢谢。我现在没有时间给出正确的答案。
标签: multithreading r random snow