为什么我用snowflake产生重复的id

新手上路,请多包涵

问题描述

for (int i = 0; i < 1000; i++) {

    //如果把idworker移到这里  改成随机  为什么id就会有很多重复
    IdWorker idWorker = new IdWorker(new Random().nextInt(30), 0);
    ....

}

阅读 5.7k
2 个回答

new Random().nextInt(30) 返回值应该是0到30吧

新手上路,请多包涵

IdWorker 放里面 = =,那两个参数是用在分布式的时候,31*31 最多961台。
一个项目里面只用一个‬IdWorker实例,
Random 在方法里面应该也只用一个,
“即种子用于随机数生成器初始化值,随机生成器对于特定的种子值总是产生相同的随机数序列。一般Random random = new Random();系统采取当前时间毫秒数做种子数做到随机不然的话写了种子数随机数就是定值了”
--https://blog.csdn.net/xjk201/...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题