加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

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

解决方法

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

> Generate UUID in Java

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读