|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class ThreadLocalRandom extends Random
Random генератор, используемый Math класс, a ThreadLocalRandom инициализируется с внутренне сгенерированным семенем, которое не может иначе быть изменено. Когда применимый, использование ThreadLocalRandom вместо совместно используемого Random объекты в параллельных программах будут обычно встречаться с намного меньшим количеством издержек и конкуренции. Использование ThreadLocalRandom является особенно соответствующим когда многократные задачи (например, каждый a ForkJoinTask) используйте случайные числа параллельно в пулах потоков. Использования этого класса должны обычно иметь форму: ThreadLocalRandom.current().nextX(...) (где X Int, Long, и т.д.). Когда все использования имеют эту форму, никогда не возможно случайно совместно использовать a ThreadLocalRandom через многократные потоки.
Этот класс также обеспечивает дополнительные обычно используемые ограниченные случайные методы генерации.
| Модификатор и Тип | Метод и Описание |
|---|---|
static ThreadLocalRandom |
current()
Возвращает текущий поток
ThreadLocalRandom. |
protected int |
next(int bits)
Генерирует следующее псевдослучайное число.
|
double |
nextDouble(double n)
Возвращает псевдослучайное, однородно распределенное
double значение между 0 (содержащий) и указанное (монопольное) значение. |
double |
nextDouble(double least, double bound)
Возвращает псевдослучайное, однородно распределенное значение между данным наименьшее количество значения (включительно) и связанный (монопольный).
|
int |
nextInt(int least, int bound)
Возвращает псевдослучайное, однородно распределенное значение между данным наименьшее количество значения (включительно) и связанный (монопольный).
|
long |
nextLong(long n)
Возвращает псевдослучайное, однородно распределенное значение между 0 (содержащий) и указанное (монопольное) значение.
|
long |
nextLong(long least, long bound)
Возвращает псевдослучайное, однородно распределенное значение между данным наименьшее количество значения (включительно) и связанный (монопольный).
|
void |
setSeed(long seed)
Броски
UnsupportedOperationException. |
nextBoolean, nextBytes, nextDouble, nextFloat, nextGaussian, nextInt, nextInt, nextLongpublic static ThreadLocalRandom current()
ThreadLocalRandom.ThreadLocalRandompublic void setSeed(long seed)
UnsupportedOperationException. Установка семян в этом генераторе не поддерживается.setSeed в классе Randomseed - начальное семяUnsupportedOperationException - всегдаprotected int next(int bits)
RandomОбщий контракт next это, это возвращается int значение и если параметр bits между 1 и 32 (включительно), тогда то, что много битов младшего разряда возвращенного значения будут (приблизительно) независимо выбранными битовыми значениями, каждое из которых (приблизительно), одинаково вероятно, будет 0 или 1. Метод next реализуется классом Random атомарно обновляя семя к
(seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1) и возврат (int)(seed >>> (48 - bits)). Это - линейный congruential генератор псевдослучайного числа, как определено Д. Х. Лехмером и описало Дональдом Э. Нутом в Искусстве Программирования, Объем 3: получисловые Алгоритмы, разделите 3.2.1.public int nextInt(int least,
int bound)
least - наименьшее количество значения возвратилосьbound - (монопольная) верхняя границаIllegalArgumentException - если наименее больше чем или равный связанномуpublic long nextLong(long n)
n - привязанный случайное число, которое будет возвращено. Должно быть положительным.IllegalArgumentException - если n не положителенpublic long nextLong(long least,
long bound)
least - наименьшее количество значения возвратилосьbound - (монопольная) верхняя границаIllegalArgumentException - если наименее больше чем или равный связанномуpublic double nextDouble(double n)
double значение между 0 (содержащий) и указанное (монопольное) значение.n - привязанный случайное число, которое будет возвращено. Должно быть положительным.IllegalArgumentException - если n не положителенpublic double nextDouble(double least,
double bound)
least - наименьшее количество значения возвратилосьbound - (монопольная) верхняя границаIllegalArgumentException - если наименее больше чем или равный связанному
Для дальнейшей ссылки API и документации разработчика, см. . Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.