РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
619 of 1163 menu

Класс ThreadLocalRandom

Класс ThreadLocalRandom предназначен для генерации случайных чисел в многопоточных приложениях. В отличие от класса Random, каждый поток получает собственный экземпляр генератора, что позволяет избежать блокировок и конфликтов между потоками. Экземпляр класса не создается через конструктор, а получается с помощью статического метода current, который возвращает генератор, привязанный к текущему потоку. В первый параметр методов генерации мы передаем начальную границу диапазона (включая ее), во второй - конечную границу (не включая ее).

Синтаксис

ThreadLocalRandom.current() ThreadLocalRandom.current().nextInt(origin, bound) ThreadLocalRandom.current().nextDouble(origin, bound) ThreadLocalRandom.current().nextLong(origin, bound)

Пример

Давайте получим случайное целое число в диапазоне от 1 до 10 (конечная граница не входит в результат):

import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String[] args) { int res = ThreadLocalRandom.current().nextInt(1, 10); System.out.println(res); } }

Результат выполнения кода:

7

Пример

Давайте получим случайное вещественное число в диапазоне от 0.0 до 1.0:

import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String[] args) { double res = ThreadLocalRandom.current().nextDouble(0.0, 1.0); System.out.println(res); } }

Результат выполнения кода:

0.573198461256

Пример

Давайте сгенерируем три случайных числа в цикле и выведем их на экран:

import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String[] args) { for (int i = 0; i < 3; i++) { int res = ThreadLocalRandom.current().nextInt(1, 100); System.out.println(res); } } }

Результат выполнения кода:

42 87 15

Пример

Давайте получим случайное логическое значение:

import java.util.concurrent.ThreadLocalRandom; public class Main { public static void main(String[] args) { boolean res = ThreadLocalRandom.current().nextBoolean(); System.out.println(res); } }

Результат выполнения кода:

true

Смотрите также

  • класс Random,
    который генерирует случайные числа
  • метод current,
    который возвращает генератор текущего потока
  • метод nextInt,
    который возвращает случайное целое число
  • метод nextDouble,
    который возвращает случайное вещественное число
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить