Java生成随机数的4种方式,以后就用它了!(2)

② 优缺点分析


Random 使用 LGC 算法生成伪随机数的优点是执行效率比较高,生成的速度比较快


它的缺点是如果 Random 的随机种子一样的话,每次生成的随机数都是可预测的(都是一样的)。如下代码所示,当我们给两个线程设置相同的种子数的时候,会发现每次产生的随机数也是相同的:


// 创建两个线程
for (int i = 0; i < 2; i++) {
    new Thread(() -> {
        // 创建 Random 对象,设置相同的种子
        Random random = new Random(1024);
        // 生成 3 次随机数
        for (int j = 0; j < 3; j++) {
            // 生成随机数
            int number = random.nextInt();
            // 打印生成的随机数
            System.out.println(Thread.currentThread().getName() + ":" +
                               number);
            // 休眠 200 ms
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("---------------------");
        }
    }).start();
}


以上程序的执行结果为:



Java生成随机数的4种方式,以后就用它了!(2)



上一篇:JAVA执行javascript方法


下一篇:Centos7.2下安装mysql命令行客户端