>Java >java지도 시간 >ThreadLocalRandom 함수를 사용하여 Java에서 난수를 생성하는 방법

ThreadLocalRandom 함수를 사용하여 Java에서 난수를 생성하는 방법

WBOY
WBOY원래의
2023-06-26 15:03:271751검색

Java에서 일반적으로 사용되는 난수 생성 방법에는 Random 클래스와 Math.random() 메서드가 있지만 멀티 스레드 프로그램의 경우 스레드 안전성이 매우 중요합니다. 따라서 다중 스레드 환경에서는 난수 생성을 위해 ThreadLocalRandom 클래스를 사용하는 것이 더 적절한 선택입니다.

ThreadLocalRandom은 스레드 지역화된 난수 생성기를 제공하는 Java 7에 도입된 새로운 기능입니다. 다중 스레드 환경에서 각 스레드는 자체 ThreadLocalRandom 인스턴스를 생성하여 스레드 경쟁 문제를 방지하고 프로그램의 동시성 성능을 향상시킵니다.

ThreadLocalRandom을 사용하여 난수를 생성하는 것은 매우 간단합니다. 제공되는 nextInt 메서드를 호출하기만 하면 됩니다. 이 메서드에는 두 가지 오버로드 버전이 있습니다.

  1. nextInt()
    이 메서드는 int 유형의 임의 정수를 반환합니다. 이 정수의 범위는 음수 및 양수 int 값입니다.
  2. nextInt(intbound)
    이 메서드는 int 유형의 임의의 정수를 반환합니다. 이 정수의 범위는 0에서 경계-1까지입니다.

또한 ThreadLocalRandom은 nextLong, nextFloat, nextBoolean 등과 같은 다른 유형의 난수 생성 메소드를 제공합니다. 이러한 메소드의 사용은 nextInt와 유사합니다.

다음은 ThreadLocalRandom을 사용하여 난수를 생성하는 샘플 코드입니다.

import java.util.concurrent.ThreadLocalRandom;

public class RandomDemo {
    public static void main(String[] args) {
        // 生成一个范围在0-99的随机整数
        int randomNum = ThreadLocalRandom.current().nextInt(100);
        System.out.println("随机数是:" + randomNum);
    }
}

출력에서 프로그램을 실행할 때마다 난수가 달라지는 것을 볼 수 있습니다. 이는 또한 ThreadLocalRandom의 난수 생성기의 스레드 안전성과 신뢰성을 확인합니다.

간단히 말하면 Java 멀티스레드 환경에서는 Random 클래스를 사용하는 것보다 ThreadLocalRandom을 사용하는 것이 더 안전하고 효율적이며 편리합니다. 따라서 멀티스레드 프로그램을 작성할 때 ThreadLocalRandom을 사용하여 난수를 생성하는 데 우선 순위를 두어야 합니다.

위 내용은 ThreadLocalRandom 함수를 사용하여 Java에서 난수를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.