내 응용 프로그램에서 난수 생성기를 사용하고 있습니다. 그러나 때로는 똑같은 가치를 되 찾는 일이 종종 있습니다. 내 연구에 따르면 기본 임의 생성자는 시스템 시간을 시드로 사용합니다. 동일한 시드가 사용되면 같은 번호가 생성됩니다. 따라서 내 시스템 호출이 동일한 시스템 시간 (예 : 호출간에 지연이 거의없는 경우)에서 수행되면 동일한 숫자가 생성됩니다..NET 임의 번호 생성 - 자동 시드
그래서 좋게 보이는 솔루션은 약간의 호출을 지연시키는 것이므로 고유 한 시간이 소요됩니다. 내 질문은 무엇입니까 - 원자 시간 단위입니다 .NET 시드 생성기 - 그래서 고유 한 시간을 인식하고 고유 시드가 생성되도록 기다리는 데 사용할 수있는 가장 작은 숫자?
또한 스레드를 잠자기하는 것을 지연시키는 올바른 방법입니까? 예를
int smallestTimeUnit = 20;
Thread.Sleep(smallestTimeUnit);
에 대한
또는 시스템 시간 씨앗 생성이 신뢰할 수 없습니다 그리고 난 종자 세대 내 자신의 방법을 구현해야합니까?
감사합니다.
이렇게 접근하는 잘못된 방법입니다. 당신이 순차적으로 사용하는'Random' 인스턴스를 갖는 것은 ** 멀리 선호됩니다 (즉, 매번'새로운 Random()'이 아닌 어딘가에 인스턴스를 저장하는 것입니다) –