【发布时间】:2010-08-19 10:38:11
【问题描述】:
我想每 5 秒做一次工作。当我说每 5 秒时,我的意思是根据系统时钟在 00:00、00:05、00:10、00:15、00:20。自计时器启动后,并非每 5 秒一次。
是否有一个 .net 计时器已经可以做到这一点 - 我找不到?
我可以想到两种解决方法...
有一个非常高分辨率的定时器,并在每个定时器事件中读取系统时钟。每经过整整 5 秒后立即关闭我的工作。
有一个非常高分辨率的定时器,并在每个定时器事件中读取系统时钟。在整整 5 秒过后立即启动第二个计时器,其分辨率为 5 秒。
对这两种方法都不满意 - 第一种方法会给 CPU 带来不必要的负载(取决于分辨率有多高)。第二种方法可能会在很长一段时间后漂移。不知道是真是假。
【问题讨论】: