我正在考虑在 Windows 服务中使用 System.Timers.Timer。我想知道它们的可靠性和准确性。特别是:
更新:感谢您到目前为止的答案。我希望对我在原始问题中详述的三个问题得到更具体的答案。
最佳答案
什么对你来说是准确的?
普通窗口计时器的精度约为 100Hz。如果您想要更准确的内容,请查看 QueryPerformanceTimer(System.Diagnostics.Stopwatch 使用它)。它在短时间内非常好且非常准确,但随着 CPU 频率的变化(电源管理),它会失去同步。
此外,我看到系统时钟每天漂移几分钟,所以我们必须安装 NTP 实用程序并安排它(讽刺的是)定期运行。
基本上,我们从未在 windows 机器上实现亚毫秒级的时间精度,即使有些人尝试使用主时钟作为基线和 QuerperformanceTimer 作为一种差分计时器。从来没有正确工作。
关于.net - .net 计时器有多可靠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/897108/