0

我创建了一个应用程序,它使用 Timer 类在一天中的某个时间回调一个方法,然后每 24 小时调用一次。

我用 Ticks 来表示 24 小时后。(int) TimeSpan.FromHours(24).TotalMilliseconds 我用它来检索 24 小时的刻度。

这对我来说很好,但在不同的计算机上,触发时间很长。

无论如何要调试这个?我应该如何解决/处理这个问题....

4

3 回答 3

2

对你来说“路途遥远”有多少?如果您希望应用程序在特定时间运行,请将其安排在该特定时间,而不是在完成后的 24 小时内 - 您不可避免地会看到一些滑点这样做,因为时间总是会在下一个天 X 秒,其中 X 是程序完成前一天所用的时间。

于 2012-06-29T18:41:35.990 回答
0

桌面计算机的时钟如何每天频繁波动一秒或更多,它们通常使用 NTP 服务器来纠正这些波动。但这只是野兽的本性。

于 2012-06-29T18:39:46.240 回答
0

首先,没有“我的刻度”,因为刻度是一个定义明确的值。

一个滴答表示一百纳秒或百万分之一秒。一毫秒内有 10,000 个滴答声。

DateTime 对象还有一个Ticks 属性,您可以使用它来访问它。我写了一些我在这里发布的简单代码对我来说效果很好,产生了完美的结果

我认为你的实现没有理由漂移这么多。请制作一个始终如一地产生问题的样本或发布您自己来源的相关部分。

于 2012-06-29T19:40:39.330 回答