gpt4 book ai didi

.net - Environment.TickCount 是否受系统时间调整影响?

转载 作者:行者123 更新时间:2023-12-05 00:56:53 27 4
gpt4 key购买 nike

我很好奇 .NET BCL 属性 Environment.TickCount 是如何实现的。特别是我现在想如果它受到system time adjustments的影响.

我对如何实现该属性的第一个猜测是它只是一个围绕 GetTickCount method 的托管包装器。 .但是,GetTickCount 的文档方法声明它受 GetSystemTimeAdjustment 函数所做调整的影响,但文档为 Environment.TickCount没有提到任何有关时间调整的内容。

我试图弄清楚 Environment.TickCount 是否可以用作(尽管精度低)持续增加的时间值。

最佳答案

不, Environment.TickCount 不受系统时间调整的影响。这是我对文档的解释,但我的好奇心需要更严格的证明,所以我在来回调整系统一小时的同时运行了以下代码:

while (true)
{
Console.WriteLine(Environment.TickCount);
Thread.Sleep(1000);
}

...输出显示了不受时间调整影响的完美序列。

更新
所以我做了更多的功课,由马库斯在下面的评论中提出的问题引发。我很确定(虽然无法确认)Environment.TickCount 会调用 GetTickCount 在文档中提到了以下内容:

The resolution of the GetTickCount function is limited to the resolution of the system timer, which is typically in the range of 10 milliseconds to 16 milliseconds. The resolution of the GetTickCount function is also affected by adjustments made by the GetSystemTimeAdjustment function.



因此,虽然它不受更改系统时间的影响,但似乎会受到调用 SetSystemTimeAdjustment 引起的调整的影响。 .

关于.net - Environment.TickCount 是否受系统时间调整影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1858989/

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