Est un GUID unique 100 % du temps ?
Il restera unique sur plusieurs threads ?
Est un GUID unique 100 % du temps ?
Il restera unique sur plusieurs threads ?
La réponse simple est oui.
Raymond Chen a écrit un excellent article sur GUID et pourquoi les sous-chaînes de GUID sont garantis pas unique. L’article poursuit à une certaine profondeur quant à la façon dont les GUID est générés et les données qu’ils utilisent pour garantir l’unicité, qui devrait revenir à une longueur en expliquant pourquoi qu'ils sont :-)
Comme une note de côté, j'ai été jouer avec les Guid du Volume dans Windows XP. C'est un très obscure disposition de partition avec trois disques et quatorze volumes.
\\?\Volume{23005604-eb1b-11de-85ba-806d6172696f}\ (F:)
\\?\Volume{23005605-eb1b-11de-85ba-806d6172696f}\ (G:)
\\?\Volume{23005606-eb1b-11de-85ba-806d6172696f}\ (H:)
\\?\Volume{23005607-eb1b-11de-85ba-806d6172696f}\ (J:)
\\?\Volume{23005608-eb1b-11de-85ba-806d6172696f}\ (D:)
\\?\Volume{23005609-eb1b-11de-85ba-806d6172696f}\ (P:)
\\?\Volume{2300560b-eb1b-11de-85ba-806d6172696f}\ (K:)
\\?\Volume{2300560c-eb1b-11de-85ba-806d6172696f}\ (L:)
\\?\Volume{2300560d-eb1b-11de-85ba-806d6172696f}\ (M:)
\\?\Volume{2300560e-eb1b-11de-85ba-806d6172696f}\ (N:)
\\?\Volume{2300560f-eb1b-11de-85ba-806d6172696f}\ (O:)
\\?\Volume{23005610-eb1b-11de-85ba-806d6172696f}\ (E:)
\\?\Volume{23005611-eb1b-11de-85ba-806d6172696f}\ (R:)
| | | | |
| | | | +-- o
| | | +---- i
| | +------ r
| +-------- a
+---------- m
Ce n'est pas que les Guid sont très semblables, mais le fait que tous les Guid ont la chaîne de "mario". C'est qu'une coïncidence ou est-il une explication derrière tout cela?
Maintenant, quand googler pour la partie 4 dans le GUID j'ai trouvé environ 125.000 hits avec les Guid du volume.
Conclusion: Quand il s'agit de Guid du Volume qu'ils ne sont pas aussi unique que d'autres Guid.
Oui, un GUID doit toujours être unique. Il repose sur les matériels et l’heure, plus quelques bits supplémentaires pour s’assurer que c’est unique. Je ne sais pas qu'il est théoriquement possible de se retrouver avec deux joints identiques, mais extrêmement peu probable dans un scénario réel.
Voici un excellent article de Raymond Chen sur GUID :
http://blogs.msdn.com/oldnewthing/archive/2008/06/27/8659071.aspx
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.