Метод current
Метод current класса ThreadLocalRandom возвращает экземпляр
генератора случайных чисел, привязанный к текущему потоку.
Метод не принимает параметров и является статическим.
Каждый поток получает собственный экземпляр генератора,
что делает работу с ним потокобезопасной и более производительной
по сравнению с общим объектом Random.
Полученный объект затем используется для вызова методов генерации:
nextInt, nextLong, nextDouble и других.
Синтаксис
ThreadLocalRandom.current()
Пример
Давайте получим локальный генератор и сгенерируем случайное число от 1 до 100:
import java.util.concurrent.ThreadLocalRandom;
public class Main
{
public static void main(String[] args)
{
int res = ThreadLocalRandom.current().nextInt(1, 101);
System.out.println(res);
}
}
Результат выполнения кода:
42
Пример
Давайте сгенерируем случайное число с плавающей точкой
в диапазоне от 0.0 до 1.0:
import java.util.concurrent.ThreadLocalRandom;
public class Main
{
public static void main(String[] args)
{
double res = ThreadLocalRandom.current().nextDouble();
System.out.println(res);
}
}
Результат выполнения кода:
0.7364512
Пример
Давайте сохраним генератор в переменную и сгенерируем несколько случайных значений подряд:
import java.util.concurrent.ThreadLocalRandom;
public class Main
{
public static void main(String[] args)
{
ThreadLocalRandom rnd = ThreadLocalRandom.current();
int a = rnd.nextInt(1, 10);
int b = rnd.nextInt(1, 10);
boolean c = rnd.nextBoolean();
System.out.println(a + " " + b + " " + c);
}
}
Результат выполнения кода:
7 3 true
Смотрите также
-
класс
ThreadLocalRandom,
который представляет локальный генератор случайных чисел -
метод
nextInt,
который возвращает случайное целое число -
метод
nextDouble,
который возвращает случайное число с плавающей точкой -
класс
Random,
который представляет классический генератор случайных чисел