C# 计时器.更改方法
本文关键字:方法 计时器 | 更新日期: 2023-09-27 18:34:50
我需要创建一个无论结果如何都会每 5 秒运行一次的函数,我浏览了 MSDN 库并发现了这个 http://msdn.microsoft.com/en-us/library/yz1c7148.aspx,我认为这就是我需要的,但我需要更多地了解到期时间和周期参数
据我了解:- 到期时间 是启动计时器之前等待的时间吗? 周期时间是重复时间的时间吗?
我的问题是我对 msdn 提供的计时器的理解是否正确。 此外,如果我想设置每 5 秒运行一次的时间,无论以前的计时器是否完成,我应该设置什么?
只需创建一个虚拟计时器每五秒滴答一次,然后使用 BeginInvoke
在事件Tick
启动函数。
你的理解是绝对正确的。以下代码应执行所需的操作:
System.Threading.Timer timer = new System.Threading.Timer(Callback, null, 0, 5 * 1000);
但是我应该提到System.Threading.Timer不太准确,每次调用都会有一些累积错误。例如以下代码
static void Main(string[] args)
{
System.Threading.Timer timer = new System.Threading.Timer(Callback, null, 0, 1 * 1000);
Console.ReadLine();
}
static void Callback(object state)
{
Console.WriteLine(DateTime.Now.ToString("hh:MM:ss:ffff"));
}
在我的计算机上生成以下结果:
03:10:14:8014
03:10:15:8154
03:10:16:8294
03:10:17:8434
03:10:18:8574
03:10:19:8714
03:10:20:8854
03:10:21:8994
03:10:22:9134
03:10:23:9274
03:10:24:9414
03:10:25:9554
03:10:26:9694
03:10:27:9834
03:10:28:9974
03:10:30:0114
03:10:31:0254