溫馨提示×

c# 定時任務(wù)如何避免重復(fù)執(zhí)行

c#
小樊
146
2024-07-14 05:52:25
欄目: 編程語言

在C#中,可以使用一個bool類型的變量來標(biāo)記定時任務(wù)是否正在執(zhí)行,如果任務(wù)正在執(zhí)行,則在下一次調(diào)度執(zhí)行前直接返回,避免重復(fù)執(zhí)行。例如:

using System;
using System.Timers;

class Program
{
    private static bool isRunning = false;

    static void Main()
    {
        Timer timer = new Timer(1000); // 1秒鐘執(zhí)行一次
        timer.Elapsed += TimerElapsed;
        timer.Start();

        Console.ReadLine();
    }

    static void TimerElapsed(object sender, ElapsedEventArgs e)
    {
        if (isRunning)
        {
            return; // 避免重復(fù)執(zhí)行
        }

        isRunning = true;

        // 執(zhí)行定時任務(wù)的代碼

        isRunning = false;
    }
}

在上面的代碼中,通過isRunning變量來標(biāo)記定時任務(wù)是否正在執(zhí)行,如果任務(wù)正在執(zhí)行,則直接返回避免重復(fù)執(zhí)行。

0