gpt4 book ai didi

c# - DateTime.Now 是不是在不同的时间不同的进程中调用总是单调的?

转载 作者:太空宇宙 更新时间:2023-11-03 19:49:59 25 4
gpt4 key购买 nike

假设我在一个进程中执行 DateTime.UtcNow,一段时间后我在另一个进程中执行 DateTime.UtcNow(甚至是另一个 exe文件)。

我能保证第一次调用将返回一个“小于”或等于第二个值的 DateTime 值吗,也就是说,第一个值永远不会比第二个值“大”一,即使调用几乎同时进行(即调用之间的差异为 1 毫秒甚至更短)?

假设机器时间在这些调用之间永远不会以任何方式改变(例如,Windows 时间服务被禁用)。

最佳答案

是与否

DateTime.Now 等函数依赖于硬件提供并通过操作系统公开的计时器和时钟。这些定时器和时钟的可靠性完全取决于平台。话虽这么说,但我从未听说过时钟似乎像您描述的那样向后移动的例子。

可能有更好的时钟可用

如果您迫切需要一种高度可靠、高分辨率的计时机制,System.DateTime.NowSystem.DateTime.UtcNow 不一定是最好的资源。 Win32 API 公开了更精确的“多媒体”计时器和计数器(例如,5-10 毫秒分辨率与 50 毫秒分辨率)。 Here is an example of a class that uses win32 high resolution timers.

关于c# - DateTime.Now 是不是在不同的时间不同的进程中调用总是单调的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40626493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com