[問題] 多執行緒亂數生成都一樣?
大家好,
我在 BCB6.0 上原本是想測試執行緒執行效能如何,
但發現這奇怪的現象 CODE: http://ideone.com/HJiA0e
使用多執行緒時,
每次呼叫的亂數總和值 sum 都是 4694505.719100
這是為什麼呢?
在我理解上 rand() 函式很像查亂數表,
整個程式不論 rand() 寫在哪裡,
只要同樣是第 N 次去呼叫 rand(),就會得到相同結果。
if R1 = rand(N), R2 = rand(N) then R1 = R2
所以說執行緒是大家同時去呼叫 rand() ?
可是在程式碼第 29 行 call++
每個 call 值又不一樣。
另外請教大家,
如果是單核心電腦,使用這樣的程式是不是就沒有
加快執行速度的功能了?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 110.26.134.74
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1447071728.A.241.html
推
11/09 20:25, , 1F
11/09 20:25, 1F
→
11/09 20:26, , 2F
11/09 20:26, 2F
→
11/09 20:27, , 3F
11/09 20:27, 3F
→
11/09 20:28, , 4F
11/09 20:28, 4F
→
11/09 20:31, , 5F
11/09 20:31, 5F
推
11/09 20:31, , 6F
11/09 20:31, 6F
→
11/09 20:31, , 7F
11/09 20:31, 7F
→
11/09 20:31, , 8F
11/09 20:31, 8F
→
11/09 20:31, , 9F
11/09 20:31, 9F
→
11/09 20:32, , 10F
11/09 20:32, 10F
→
11/09 23:02, , 11F
11/09 23:02, 11F
→
11/09 23:02, , 12F
11/09 23:02, 12F
→
11/10 00:56, , 13F
11/10 00:56, 13F
→
11/10 06:07, , 14F
11/10 06:07, 14F
→
11/10 06:07, , 15F
11/10 06:07, 15F
推
11/10 08:29, , 16F
11/10 08:29, 16F
→
11/10 08:30, , 17F
11/10 08:30, 17F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章