Le possibilità di ottenere due guidi identici sono astronomicamente sottili anche se si generano i guidi il più velocemente possibile. (Generando, per esempio, migliaia di guids al secondo al solo scopo di trovare un duplicato.)
Naturalmente, se vuoi la mia opinione, credo che ci sarà un tempo, tra un paio di migliaia di anni da ora, quando colonizzeremo la galassia, la nostra popolazione sarà tra i trilioni, e il numero di singoli computer incastonati dappertutto sarà numeroso nei miliardi, quando inizieremo a scovarci con duplicati di guidi che saltano fuori ogni tanto in aree distanti della galassia, e poi sarà come 640k di memoria tutto daccapo, l'inferno della DLL tutto da capo, il bug del millennio a due cifre tutto da capo, tutti insieme.
La cosa con GUID è che non vogliamo che siano enormi, perché in tal caso sarebbero inutili, quindi qualcuno ha dovuto inventare un numero di bit abbastanza piccolo da non essere troppo dispendioso e tuttavia di grandi dimensioni abbastanza da dare una ragionevole garanzia contro le collisioni. Quindi, è un compromesso tecnologico. Nel nostro secolo 128 bit sembrano essere un buon compromesso, ma con certezza quasi matematica ci sarà un altro secolo in cui questo compromesso non sarà più così buono.
fonte
2011-12-27 09:12:39
Circa 1 su 2^128. – tenfour
No, il computer non tiene traccia. Ma no, le probabilità di un GUID duplicato sono così basse da non essere rilevanti. Hai già risposto alla tua domanda nella domanda; tutte le risposte ti stanno solo pappagliando. –
@CodyGray specifico per il contesto dell'OP, il sistema * fa * tiene traccia. Il filesystem terrà traccia di ogni GUID che è stato usato per questo scopo e non ti permetterà di creare un file con un nome identico. Quindi, in pratica, se l'OP scrive un buon codice, la risposta è che non importa se ci sono collisioni o meno. – tenfour