<分区>
我正在使用 srand (time(NULL));生成随机种子。
问题是,我要向 LINUX 集群提交 30 多个相同的作业。如果我一次提交一个,一切都很好,但我当然更喜欢使用批处理作业一次提交所有 30 个。更容易和更快。问题是,然后几批作业似乎都在同一时间访问,我得到了重复的结果!任何人都可以建议一个简单的解决方案吗?
<分区>
我正在使用 srand (time(NULL));生成随机种子。
问题是,我要向 LINUX 集群提交 30 多个相同的作业。如果我一次提交一个,一切都很好,但我当然更喜欢使用批处理作业一次提交所有 30 个。更容易和更快。问题是,然后几批作业似乎都在同一时间访问,我得到了重复的结果!任何人都可以建议一个简单的解决方案吗?
最佳答案
考虑从 /dev/random
或 /dev/urandom
读取。它们具有比 rand()
(通常只是一个简单的线性同余生成器)更高质量的随机性,并且 /dev/random
会阻塞直到建立足够的熵。
关于c++ - 将 srand 用于随机种子时重复输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26197813/
相关文章:
c++ - Eclipse C++ OpenGL - 无法构建项目
c++ - 使用 Makefiles 在 Eclipse CDT 中进行错误检查
c++ - 在函数之间共享变量 - rand() srand
c - 下面的 srand(getpid()) 和 rand() 在做什么?
c++ - 如何禁用 eclipse cdt 中的所有代码分析?
python - 字节可以安全地从 UUID 中删除并仍然期望它保持其唯一性吗?
postgresql - Amazon Redshift - SQL - 在多个 ROW_NUMBER() ORDER BY 子句中调用时 RANDOM() 的行为