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

前端之家收集整理的这篇文章主要介绍了在java cross-plateform-ably中没有时间播种随机发生器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我几乎同时在两个线程上初始化两个随机生成器,我希望两个生成器的行为完全不同.我会经常在两个发生器上一个接一个地调用Random.nextInt(7).使用System.currentTimeMillis()并不是一个好主意,因为看起来我的计算机速度太快,以至于从两个生成器获得的数字很可能是相同的.那么有没有办法配置Random,虽然它们被一个接一个地调用,但它们仍然表现不同?我希望该解决方案能够跨平台兼容,因此任何特定于平台的想法(例如从/ dev / random读取)都是不可接受的.感谢帮助.

解决方法

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

> Generate UUID in Java

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

猜你在找的Java相关文章