定时器有两个间隔执行任务

时间:2013-11-04 20:22:23

标签: c# timer

我有一个带有计时器的c#windows服务,每5分钟执行一次。

我不想创建其他进程来每30分钟执行一次任务,那么在同一个计时器timer_Elapsed事件中是否可以执行该逻辑?任何线索?

非常感谢,

3 个答案:

答案 0 :(得分:2)

如何使用 2 计时器?

答案 1 :(得分:1)

每次计时器过去都可以递增一个变量,当该变量达到6时,将其重置为0并执行“每30分钟一次”代码。另外,据我所知,创建一个新的(winform)计时器并不会创建新的线程。

int TimerVariable=0;
TimerEvent(object sender,eventargs e)
{
    TimerVariable++;
    if(TimverVariable>=6)
    {
        //Execute the once every 30 min code
    }
    //Execute the once every 5 min code.
}

答案 2 :(得分:0)

好吧,您可以使用计数器并将其与6(30000/5000)核对,并在完成时将其重置为零。

private int counter = 0;
private void TimerCallback()
{
    counter++;
    if(counter >=6)
    {
        //Your 30 seconds code here
        counter = 0;
    }
}