Maison >développement back-end >C++ >Un programme C# trouvera-t-il un jour un GUID en double ?
Test de l'unicité du GUID en C#
Un programme C# a été créé pour tester la croyance largement répandue selon laquelle le GUID est unique. Les premières tentatives utilisant la génération et la comparaison séquentielles de GUID n'ont pas réussi à trouver des doublons. Pour résoudre ce problème, une approche plus globale a été mise en œuvre.
Ce programme amélioré exploite le multithreading pour générer et comparer un grand nombre de GUID simultanément. Il ajoute continuellement des GUID à une collection croissante en mémoire (« tas ») et recherche simultanément les doublons.
L'exécution du programme continue jusqu'à ce qu'un système OutOfMemoryException
se produise, signifiant que la mémoire disponible a été complètement consommée par les GUID. Cette approche exhaustive évite les biais potentiels associés à la mémoire pré-alloué. La bibliothèque Parallel
est utilisée pour optimiser les performances sur plusieurs cœurs de processeur.
Le fonctionnement persistant du programme, sans rencontrer de GUID en double, suggère fortement que la probabilité de collision dans les limites de mémoire testées est exceptionnellement faible. Bien que conçu pour s'exécuter indéfiniment, la surveillance de la sortie du programme confirme l'absence continue de toute collision GUID.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!