난 임의 수 생성 & 자바의 멀티 스레딩 개념을 배우고 있습니다.특정 타임 스탬프에 대한 고유 난수
아이디어는 특정 밀리 초에서 범위 1000의 반복 된 난수를 생성하지 않는 것입니다 (다중 스레드 방식에서 50 개가 넘지 않는 데이터를 고려하면 밀리 초 단위로 처리됩니다). 따라서 특정 시간에 생성 된 난수 목록은 고유합니다. 당신이 나에게 어떤 아이디어를 줄 수 있을까요? 나는 밀리 초에 몇개의 반복되는 난수를 생성하는 것을 끝낼 것입니다. (또한 상당한 확률이 있습니다.)
나는 내가 실패한 다음과 같은 것들을 시도했다.
Random random = new Random(System.nanoTime());
double randomNum = random.nextInt(999);
//
int min=1; int max=999;
double randomId = (int)Math.abs(math.Random()* (max - min + 1) + min);
//
Random random = new Random(System.nanoTime()); // also tried new Random();
double randomId = (int)Math.abs(random.nextDouble()* (max - min + 1) + min);
I 8-10 주위 (I는 동일한 ID를 참조 멀티 스레드 환경에서 생성되는 타임 스탬프를 추가 이대로)가 5000+ 고유 데이터에 대해 생성됩니다 (2-4 회).
:
지금 모든 스레드는 같은 인스턴스를 사용해야합니까? 코드 일부를 추가하십시오. 문제가 정확히 어디입니까? – bidifx
다른 것을 한 가지 명확히하려는 것이 좋습니다. 예를 들어 멀티 스레딩은 난수 생성과 아무런 관련이 없으므로 혼동해서는 안됩니다. – Ingo
최대 및 최소값은 무엇입니까? – Fildor