Метод Random.setSeed()

119
15 февраля 2022, 02:00

Здраствуйте скажите прошу детально что делает метод setSeed() с класса Random в java, какое отношение он имеет к атомарности и почему он synchronized. Заранее благодарен

Answer 1

В документации вполне четко написано. Метод setSeed() устанавливает начальное число этого ГПСЧ. setSeed() изменяет состояние экземпляра ГПСЧ так, чтобы он находился в том же состоянии, как если бы он был только что создан с аргументом seed в качестве начального числа. Метод setSeed() реализуется классом Random путем атомарного (то есть неделимого, полностью выполняемого одним потоком (поэтому synchronized)) обновления начального числа до (seed ^ 0x5DEECE66DL) & ((1L << 48) - 1) и очистки флага haveNextNextGaussian, используемого методом nextGaussian().

READ ALSO
что такое представления в java android?

что такое представления в java android?

Смотрел видео о разработке под Android и услышал такую фразу "LayoutInflater - класс, который позволяет из xml файлов создавать новые представления",...

65
Исчезают переносы строк при переходе в Gmail через Intent на Samsung

Исчезают переносы строк при переходе в Gmail через Intent на Samsung

Использую intent для перехода из приложения на почту и заполнение письма шаблоном

104
Android калькулятор не работает

Android калькулятор не работает

Написал я простенький калькулятор с вычислением процентовНекоторые числа он обрабатывает нормально и все выводит туда куда нужно

138