在给定的时间间隔内运行代码

时间:2009-12-29 04:45:43

标签: c# vb.net

我想每1分钟,15分钟等运行一次代码。有没有比按照时间间隔1秒放入定时器控制更好的方法。 c#解决方案也可以。

If Now.Minute Mod 15 = 0 Then
'run code for 15 min
End If
If Now.Minute Mod 1 = 0 Then
'run code for 1 min
End If

5 个答案:

答案 0 :(得分:6)

您可以使用计时器查看this帖子。

int startin = 60 - DateTime.Now.Second;
var t = new System.Threading.Timer(o => Console.WriteLine("Hello"), 
     null, startin * 1000, 60000);

答案 1 :(得分:2)

如果您正在进行一些繁重的处理,那么最好编写一个应用程序并使用Windows任务调度程序安排它。

答案 2 :(得分:1)

此表单有一个流程,在分钟0和每15分钟,分钟1的代码可能不会运行,因为1分钟的检查将等到15分钟的代码完成,这可能需要一些时间。

使用两个timers(如果两个代码不相关),每1分钟就会关闭一次,而另一个则每15分钟一次

或者如果可能,您可以使用Windows调度程序服务。

答案 3 :(得分:1)

您可以创建一个单独的线程来连续运行代码,并发出信号以停止使用15分钟或1分钟的计时器。然而,更好地解释你想要达到的目标将有助于每个人回答你的问题。如果你要做的就是执行一些代码(而不是重复执行它),简单的计时器就会有意义......但你的例子还不清楚。

答案 4 :(得分:-2)

创建 windows-service 来执行此操作。

相关问题