我有幾個(gè)線程都運(yùn)行相同的功能。在每種情況下,它們都會(huì)多次生成不同的隨機(jī)數(shù)。我們?cè)噲D通過將srand(time(0))函數(shù)放在開頭來執(zhí)行此操作,但是似乎它們都獲得了相同的數(shù)字。我們是否需要srand(time(0))每個(gè)程序僅調(diào)用一次,即在main(例如)開始,在多次調(diào)用的每個(gè)函數(shù)的開始處調(diào)用,還是其他?
3 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
如果同時(shí)啟動(dòng)所有線程,則每個(gè)線程發(fā)送到srand的時(shí)間可能相同。由于它們都具有相同的種子,因此它們都返回相同的序列。嘗試使用其他內(nèi)容,例如來自局部變量的內(nèi)存地址。
- 3 回答
- 0 關(guān)注
- 610 瀏覽
添加回答
舉報(bào)
0/150
提交
取消