我想每5秒做一次工作。当我说每5秒,我指的是根据系统时钟,在00:00,00:05,00:10,00:15,00:20。自计时器启动以来,不是每5秒一次。
有没有一个.net定时器可以完成这个任务-我找不到一个?
我能想到两个工作..。
对这两种方法都不满意--第一种方法将不必要的负载放在cpu上(取决于恢复的高度)。第二种方法可能会在很长一段时间后发生变化。我不知道这是不是真的。
发布于 2010-08-19 11:02:37
不是直接的,但是您可以设置一个短计时器来触发下一个5s倍数,在该事件中,处理程序设置每5s调度一次。
发布于 2010-08-19 11:09:00
所有常用的定时器(WinForms,线程,定时器)的分辨率都在20 ms左右。
您可以在一次拍摄模式中使用其中的任何一个,并重新计算毫秒到下一个5秒点的时间。预期错误为0..100 ms。
如果这是太多,你将需要一个雇用定时器,但请注意,他们是一个相当沉重的负担,您的系统。
但是请注意,您的线程/进程在任何时候都可能被替换为N*20 at。
https://stackoverflow.com/questions/3520912
复制相似问题