为了账号安全,请及时绑定邮箱和手机立即绑定

从多个线程使用stdlib的rand()

从多个线程使用stdlib的rand()

C++ C
GCT1015 2019-11-19 10:24:01
我有几个线程都运行相同的功能。在每种情况下,它们都会多次生成不同的随机数。我们试图通过将srand(time(0))函数放在开头来执行此操作,但是似乎它们都获得了相同的数字。我们是否需要srand(time(0))每个程序仅调用一次,即在main(例如)开始,在多次调用的每个函数的开始处调用,还是其他?
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

如果同时启动所有线程,则每个线程发送到srand的时间可能相同。由于它们都具有相同的种子,因此它们都返回相同的序列。尝试使用其他内容,例如来自局部变量的内存地址。


查看完整回答
反对 回复 2019-11-19
  • 3 回答
  • 0 关注
  • 590 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信