簡體   English   中英

C89:具有rand_r()的多線程隨機值

[英]C89: Multithreaded Random Values with rand_r()

因此,我很好奇有人可以使用rand_r命令跨多個線程獲取隨機值。 如果我對種子使用time(NULL),那么每個人都會得到sam種子,因為創建的線程是如此緊密。 所有動作都基於該隨機種子,因此在我程序的其余部分,所有線程都保持相同。 一個如何在所有線程中使用[USING RAND_R(* int seed)]一個不同的隨機數?

提前致謝。

在Ubuntu Linux 14.04上rand_r的手冊頁建議:

rand_r()seedp參數所指向的值僅提供非常少量的狀態,因此該函數將是一個弱偽偽生成器。 嘗試改用drand48_r(3)

您可以使用arc4random為每個線程生成種子值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM