我有几个线程都运行相同的功能。在每种情况下,它们都会多次生成不同的随机数。我们试图通过将srand(time(0))函数放在开头来执行此操作,但是似乎它们都获得了相同的数字。我们是否需要srand(time(0))每个程序仅调用一次,即在main(例如)开始,在多次调用的每个函数的开始处调用,还是其他?
3 回答
森林海
TA贡献2011条经验 获得超2个赞
如果同时启动所有线程,则每个线程发送到srand的时间可能相同。由于它们都具有相同的种子,因此它们都返回相同的序列。尝试使用其他内容,例如来自局部变量的内存地址。
- 3 回答
- 0 关注
- 590 浏览
添加回答
举报
0/150
提交
取消