Мне нужно сгенерировать управляемую последовательность псевдослучайных чисел, учитывая начальный целочисленный параметр. Для этого я использую стандартный класс Java Random, засеянный целочисленным параметром. Я хотел бы убедиться, что в обозримом будущем я буду генерировать одну и ту же последовательность в разных системах (операционная система, а также версия Java/JDK) (и многое другое!).Воспроизводимость java псевдослучайных чисел в системах и версиях?
В итоге: Обеспечивает ли Java воспроизводимости/портативность это генератор псевдослучайных чисел по реализации и версии?
Примечание: я спросил the exact same question for Python. С тех пор я изменил язык реализации на Java, но по другим причинам.
все должно быть в порядке, если вы не используете один и тот же генератор из нескольких потоков. Теперь не ошибитесь в этом комментарии: сам генератор является потокобезопасным, но если вы генерируете числа из разных потоков с использованием одного и того же генератора, вы не сможете последовательно воспроизводить вызовы из разных потоков в одном и том же порядок на разных системах (даже на разных прогонах в одной системе). – TacticalCoder
Это не так, но спасибо за подсказку. Ну, если быть точным, вы можете воспроизвести одну и ту же последовательность в нескольких потоках с использованием правильного механизма блокировки, но я согласен с вами в том, что вы просите о неприятностях. –