Мне нужно создать уникальное имя файла в многопоточном приложении, которое сериализует некоторые данные на диске. Какой подход можно использовать для обеспечения уникального имени. Приложение не было многопоточным раньше и использовало Ticks. При использовании нескольких потоков он провалился намного быстрее, чем я ожидал. я теперь добавил CurrentThreadId к имени файла, и что нужно сделать, этоПолучите уникальное имя файла в многопоточном приложении
string.Format("file_{0}_{1}.xml", DateTime.Now.Ticks, Thread.CurrentThread.ManagedThreadId)
Есть ли «умнее» способ сделать это?
Спасибо, что я не был уверен в уникальности руководства через нить. Я думал, что они были солеными с текущим временем, что не помогло бы в потоках –
Вы правы - метка времени является основным компонентом Guid, но алгоритм также поддерживает свой собственный уникальный счетчик для обработки «одновременных» запросов. Прямое разбиение алгоритма находится здесь: http://blogs.msdn.com/b/oldnewthing/archive/2008/06/27/8659071.aspx –