作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我正在编写一个使用 C++11 的 prng 功能的库。库中的每个函数/对象/文件都应该初始化自己的随机数生成器吗?我打算在命名空间中初始化一个静态 std::mt19937,然后只使用那个,但代码的模块化程度较低。这是推荐的吗?
最佳答案
它不是线程安全的,因此如果您要产生多个线程,请创建更多 MT19937 prng 实例。否则,这完全取决于你。除此之外的任何答案都将主要基于意见。
如果您没有内存限制,为什么要尝试优化像应用程序中的 prng 实例数这样微不足道的事情?简单的答案:做使您的程序最容易编写、调试和管理的事情。
一个可能的解决方案是在每个对象中保存对 MT19937 的引用,并通过锁定结构控制对它的访问以使其线程安全。
关于c++ - 图书馆中随机数生成器使用的最佳实践/习语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27997584/
场景如下: 我将我的应用程序运行所需的几个 .xml(某种配置)文件捆绑在一个 .jar 文件中。 jar 文件具有以下结构: settings-1.0.0.jar ˪ resources/ ˪
我是一名优秀的程序员,十分优秀!