GUID가 절대적으로 고유하지 않다는 간략한 증거
소개
GUID는 종종 고유한 것으로 간주되지만 이것이 정밀 조사에 영향을 미치나요? 이 기사에서는 GUID 생성에 대해 자세히 알아보고 GUID의 고유성에 도전하는 코드 예제를 제공합니다.
방법론적 고려사항
관련 코드는 0에서 2128-1까지 반복되며 각 반복마다 GUID를 생성합니다. 프로그램이 오랜 시간 동안 실행될 것으로 예상되었음에도 불구하고 비정상적으로 일찍 종료되었습니다.
솔루션
이 문제를 해결하려면 여러 스레드를 사용하여 코드를 동시에 실행해야 합니다. 개선된 버전입니다:
<code>for (long k = 0; k { // 使用bigHeapOGuids检查冲突 } } }</code>
이 접근 방식은 병렬 처리를 사용하여 새로 생성된 GUID와 bigHeapOGuid 해시 세트에 이미 저장된 GUID 간의 충돌을 지속적으로 확인합니다.
토론
이 프로그램을 무기한 실행하면 GUID가 고유하지 않다는 것이 분명해집니다. 이 코드는 광범위한 값을 반복하여 필연적으로 중복을 생성함으로써 고유성 주장을 반박합니다.
면책조항
이 프로그램 사용에는 사용된 CPU 코어당 시간당 $0.0001라는 고유 라이센스 조건이 적용됩니다. 지불 기한은 매월 말일입니다. PayPal 계정 정보는 작성자에게 문의하세요.
결론
이 수정된 코드는 일반적인 오해에도 불구하고 GUID가 본질적으로 고유하지 않다는 것을 증명합니다. 다중 스레드를 사용함으로써 프로그램은 충돌을 효과적으로 테스트하고 소위 고유성 보장의 오류를 증명할 수 있습니다.
위 내용은 GUID 고유성 주장이 유효합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!