Java

[java] Random 대신 ThreadLocalRandom

1006pp 2024. 1. 7. 13:38

1. ThreadLocalRandom 을 써야하는 이유

- Random 클래스는 멀티쓰레드 환경에서 하나의 Random 인스턴스를 공유하여 전역적으로 동작함.

-> 따라서, 같은 시간에 동시 요청이 들어오면 경합 상태에서 성능에 문제가 생길 수 있음.

- 동시성 문제를 해결하기 위해 각 쓰레드마다 생성된 인스턴스에서 각각 난수를 반환.

- Random과 같은 경합 문제가 발생하지 않아 안전하며, 성능상 이점이 있음.

 

2. 만드는 방법

 ThreadLocalRandom random = ThreadLocalRandom.current();
 long randomizedBarcode = random.nextLong(100_000_000, 999_999_999);
        this.barcode = String.valueOf(randomizedBarcode);

 

'Java' 카테고리의 다른 글

[java] 자바 기초  (2) 2024.01.10