1

我有一个程序使用Now.ToFileTime().NET 中的函数来获取文件名的时间戳。我已经验证此代码仅在 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 次或更多次。偶尔我会得到一个独特的,但不是很常见。每次调用此方法时,我不应该得到唯一的时间。所有这些都至少相距几家。我不只是按顺序调用它(但即使那样我也希望得到不同的时间)。

4

2 回答 2

1

Set a global variable and ensure it has changed before using it.

于 2012-08-21T06:11:19.857 回答
0

感谢大家,

给定 Tim 指出的系统时间分辨率;我放入了一个私有静态变量作为索引以确保唯一性。

于 2012-08-21T15:24:47.743 回答