Это не то же самое время, есть большая разница во времени - каждый поток создается только после того, как предыдущий поток был прерван.

бую Java 7ThreadLocalRandom и увидите, что он генерирует одинаковые случайные числа в нескольких потоках.

Вот мой код, в котором я создаю 5 потоков, и каждый поток печатает 5 случайных чисел:

//5 threads
for(int i = 0; i < 5 ; i++) {
    final Thread thread = new Thread() {
        @Override
        public void run() {
            System.out.print(Thread.currentThread().getName()+":");

            //each thread prints 5 random numbers
            for(int j = 0 ; j < 5; j++) {
                final int random = ThreadLocalRandom.current().nextInt(1,100);
                System.out.print(random + ",");
            }
            System.out.println();
        }
    };
    thread.start();
    thread.join();
}

Выход:

Thread-0:1,93,45,75,29,
Thread-1:1,93,45,75,29,
Thread-2:1,93,45,75,29,
Thread-3:1,93,45,75,29,
Thread-4:1,93,45,75,29,

Почему я получаю одинаковые случайные числа для каждого потока и для каждого выполнения программы?

Ответы на вопрос(3)

Ваш ответ на вопрос