返回介绍

12.13.1 随机稳定性的特性

发布于 2020-09-09 22:55:51 字数 545 浏览 937 评论 0 收藏 0

随机稳定性包含下列特性:

  • 线程稳定性

每一个线程对于在该进程中发生的所有随机化系统调用都具有一个独立的RNG。当产生一个新的线程的时候,它的RNG的种子在父进程中被设置成下一个随机值。这个特性被称为层次化播种。

只要进程的产生和随机数产生是以前面相同的顺序完成,那么程序和线程稳定性就能得到保证。当为一个现存的测试加入新的进程的时候,为了维持先前产生的工作的随机数稳定性,它们可以在一个代码块的尾部加入。

  • 对象稳定性

每一个类实例(对象)对于类中的所有随机化方法都具有一个独立的RNG。当使用new产生一个对象的时候,它的RNG的种子会在产生对象的进程中设置为下一个随机值。

只要对象和线程的产生以及随机数的产生是与以前相同的顺序完成,对象稳定性就能得到保证。为了维持随机数稳定性,新的对象、线程和随机数可以在现存对象被产生以后产生。

  • 手工设置种子

所有RNG的种子都可以手工设置。与层次化的播种结合起来,这个便利性使得用户能够完全定义在系统根线程上具有单个种子的子系统(层次子树)的操作。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文