Je dois créer un nom de fichier unique dans une application multithread qui sérialise certaines données sur le disque. Quelle approche pourrais-je utiliser pour assurer un nom unique. L'application n'était pas multithread auparavant et utilisait Ticks. Lors de l'utilisation de plusieurs threads, il a échoué beaucoup plus rapidement que prévu. Je maintenant ajouté le CurrentThreadId au nom du fichier, et qui devrait le faireObtenir un nom de fichier unique dans une application multithread
string.Format("file_{0}_{1}.xml", DateTime.Now.Ticks, Thread.CurrentThread.ManagedThreadId)
Y at-il plus « intelligents » façon de le faire?
Merci Je n'étais pas certain de l'unicité du Guid à travers le fil. Je pensais qu'ils étaient salés avec l'heure actuelle, ce qui n'aiderait pas les threads –
Vous avez raison - l'horodatage est un composant majeur du Guid, mais l'algorithme maintient également son propre compteur unique pour gérer les requêtes "simultanées". Une simple décomposition de l'algorithme est ici: http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx –