Использование одного экземпляра класса Random в многопоточных приложениях может привести к конфликтам и снижению производительности. 1 Это связано с тем, что класс не является потокобезопасным: если разные потоки используют один и тот же экземпляр, то есть вероятность обнуления его внутреннего состояния, и с этого момента экземпляр станет бесполезным. 3
Для генерации случайных чисел в многопоточной среде рекомендуется использовать класс ThreadLocalRandom, который обеспечивает локальные для каждого потока случайные числа. 1 Например, случайное число, полученное одним потоком, не зависит от другого потока. 1
Также при использовании одного экземпляра класса Random в нескольких потоках необходимо использовать объект синхронизации, чтобы гарантировать, что только один поток может получить доступ к генератору случайных чисел одновременно. 2