解释这个计时器 - 我如何设置为每5分钟? C#

时间:2013-10-14 08:52:46

标签: c# timer

我有这行代码

new Timer(_CallBackProcessABC, null, 5000, Timeout.Infinite);

有人可以解释一下这行吗?经过多长时间执行?

如何将其设置为每5分钟后执行一次?

4 个答案:

答案 0 :(得分:3)

new Timer(_CallBackProcessABC, null, 5000, Timeout.Infinite);

在5000毫秒之后调用它

每5分钟运行一次:5 * 1000 * 60 ms

new Timer(_CallBackProcessABC, null, 0, 300000);

如上所述here period以毫秒为单位

public Timer(
    TimerCallback callback,
    Object state,
    int dueTime,
    int period
)
  

类型:System.Int64回调调用之间的时间间隔,   以毫秒为单位。指定Timeout.Infinite以禁用定期   信令。

编辑:

要每5分钟运行一次,您需要指定period(最后一个参数)而不是dueTime

答案 1 :(得分:2)

5000表示毫秒,您需要使用300000,即1000 m/s * 60 * 5

答案 2 :(得分:1)

尝试:

new Timer(_CallBackProcessABC, null, 1000 * 60 * 5, Timeout.Infinite);

计时器工作在几毫秒内,如果你这样使用它,编译器将在编译时优化计算,但它更像这样可读。

答案 3 :(得分:1)

如此处所述:http://msdn.microsoft.com/en-us/library/ah1h85ch.aspx

5000是以毫秒为单位的时间,因此您可以将其更改为:

new Timer(_CallBackProcessABC, null, 300000, Timeout.Infinite);

其中300000代表5分钟(以毫秒为单位)。