我有一个程序,它使用.NET中的Now.ToFileTime()
函数来获取文件名的时间戳。我已经验证这个代码只在1个线程上调用,所以我不担心并发性。
我的方法中有以下测试代码:
Dim Time As String = Now.ToFileTime()
IO.File.AppendAllText("D:\test.txt", Time & " - " & System.Threading.Thread.CurrentThread.ManagedThreadId().ToString() & vbCrLf)
这最终输出以下内容到test.txt:
129899740120622239 - 4
129899740140465735 - 4
129899740140465735 - 4
129899740140465735 - 4
129899740140465735 - 4
129899740160465479 - 4
129899740160465479 - 4
129899740160621727 - 4
129899740160621727 - 4
所以你可以看到时间标记重复2次或更多次。偶尔我会得到一个独特的,但不是经常。每次打电话给这种方法时,我不应该得到独特的时间。所有人至少相隔几毫米。我不是只是按顺序调用它(但即便如此,我希望会有不同的时间)。
答案 0 :(得分:1)
设置全局变量并确保在使用之前已更改。
答案 1 :(得分:0)
谢谢大家,
鉴于蒂姆指出系统时间的解决;我将一个私有静态变量作为索引来确保单一性。