Разница между классами Random и ThreadLocalRandom в Java заключается в их назначении и поведении:
- Класс Random представляет собой генератор псевдослучайных чисел и подходит для однопоточных приложений. 26 Однако он не эффективен в многопоточной среде, потому что когда несколько потоков одновременно обращаются к классу, он становится менее производительным. 3
- Класс ThreadLocalRandom предназначен для генерации случайных чисел в многопоточной среде. 35 Он изолирован от текущего потока, поэтому случайное число, полученное одним потоком, не зависит от другого потока. 35 Таким образом, ThreadLocalRandom достигает лучшей производительности в многопоточной среде, избегая любого параллельного доступа к экземплярам Random. 35
Кроме того, в отличие от Random, ThreadLocalRandom не поддерживает явное задание начального значения. 3