在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í)行。