温馨提示×

c# 定时任务如何避免重复执行

c#
小樊
148
2024-07-14 05:52:25
栏目: 编程语言

在C#中,可以使用一个bool类型的变量来标记定时任务是否正在执行,如果任务正在执行,则在下一次调度执行前直接返回,避免重复执行。例如:

using System;
using System.Timers;

class Program
{
    private static bool isRunning = false;

    static void Main()
    {
        Timer timer = new Timer(1000); // 1秒钟执行一次
        timer.Elapsed += TimerElapsed;
        timer.Start();

        Console.ReadLine();
    }

    static void TimerElapsed(object sender, ElapsedEventArgs e)
    {
        if (isRunning)
        {
            return; // 避免重复执行
        }

        isRunning = true;

        // 执行定时任务的代码

        isRunning = false;
    }
}

在上面的代码中,通过isRunning变量来标记定时任务是否正在执行,如果任务正在执行,则直接返回避免重复执行。

0