【发布时间】:2013-08-17 22:55:42
【问题描述】:
我知道DateTime.UtcNow 的精度不高(10-15 毫秒分辨率)。
这对我来说是个问题,因为在我的日志文件中,我想要更好的解决方案来解决竞争条件。
问题是:如何获得比DateTime.UtcNow 提供的更精确的当前日期/时间?
到目前为止,我看到的唯一解决方案是:https://stackoverflow.com/a/15008836/270348。这是解决问题的合适方法吗?
【问题讨论】:
-
10 毫秒不够准确?
-
@Cole"Cole9"Johnson the OP 提到“我想要一个更好的解决方案来解决竞争条件”
-
使用 timeBeginPeriod() 不能超过 1 毫秒,对于竞争条件来说还不够好。请注意,仅添加日志记录已经对比赛产生了很大影响。你可以让秒表工作。
-
你需要阅读这个:
Precision and accuracy of DateTime,Eric Lippert blogs.msdn.com/b/ericlippert/archive/2010/04/08/… -
@RobSiklos 您不想使用该链接解决方案。每次重置时,您的时间都可以向任一方向跳跃 10 毫秒。这将完全破坏您确定记录调用之间的相对时间的能力。您只需要一个永不重置的
Stopwatch。