在java cross-plateform-ably中没有时间播种随机发生器

Yan*_*key 6 java random

我几乎同时在两个线程上初始化两个随机数生成器,我希望两个生成器的行为完全不同.我会Random.nextInt(7)经常一个接一个地打电话给两台发电机.使用System.currentTimeMillis()不是一个好主意,因为看起来我的电脑速度太快,以至于从两台发电机获得的数字很可能是相同的.那么有没有办法配置,Random所以虽然它们被一个接一个地调用,但它们仍然表现不同?我希望该解决方案能够跨平台兼容,因此任何特定于平台的想法(例如读取)/dev/random都是不可接受的.感谢帮助.

Mit*_*eat 7

一种方法:使用UUID(GUID)转换(散列?但可能不仅仅是强制转换)将每个随机实例播种到long.

其他答案建议使用nanoTime,这可能适合取决于硬件的速度,但我更喜欢UUID路线.