MacOS上是否有线程安全的srandom()?

时间:2014-08-31 00:32:24

标签: multithreading macos random

我正在研究一些代码来生成一些艺术图像。部分过程是随机的。用户可以设置随机种子以获得可重复的结果。

如果我在不同的线程上使用相同的参数同时生成2个图像,我看到我得不到相同的结果。我怀疑这是因为srandom() / random()不是线程安全的。

Linux似乎from this question具有可重入的其他srandom_r()random_r()方法。但我无法在MacOS上找到那些。

通过阅读srandom() / random()的手册页,我看到还有initstate()setstate(),但是从手册页中不清楚使用它们会解决问题。这是他们的目的吗?

我可以使用Mersenne Twister,但希望我可以使用的操作系统有一些原生的东西。这样的事情存在吗?

0 个答案:

没有答案