13
我需要生成一个受控序列的伪随机数,给定一个初始整数参数。为此,我使用标准Java Random类,由一个整数参数播种。我希望确保在可预见的未来(以及更多!),我将在系统(操作系统,但也包括Java/JDK版本)上生成相同的序列。跨系统和版本的Java伪随机数的重复性?
总结:请问Java的保证重复性/便携的它的伪随机数生成器跨实施和版本?
注意:我已经问了the exact same question for Python。我自从将实现语言更改为Java,但出于其他原因。
只要不重复使用多个线程中的同一个生成器,它应该没问题。现在不要让这个评论错误:生成器本身是线程安全的,但是如果你使用同一个生成器从不同的线程生成数字,你将无法始终如一地重现来自你的各个线程的调用在各种系统上订购(甚至不在同一系统上的各种运行中)。 – TacticalCoder 2012-02-05 19:13:54
情况并非如此,但感谢提示。那么,准确地说,你可以使用适当的锁定机制在几个线程内复制相同的序列,但我同意你的问题。 – 2012-02-27 12:43:29