Java 7: ThreadLocalRandom генерирует одинаковые случайные числаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java 7: ThreadLocalRandom генерирует одинаковые случайные числа

Сообщение Anonymous »

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

Вот мой код, в котором я создаю 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,
Почему я получаю одни и те же случайные числа для каждого потока и для каждого выполнения программы?

Подробнее здесь: https://stackoverflow.com/questions/713 ... om-numbers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»