在C#中,可以使用System.Threading.Timer类来实现轮询操作。该类可以设置时间间隔,并在指定的时间间隔后执行指定的方法。
在Timer类的构造函数中可以指定时间间隔,并且在回调函数中可以根据需要动态改变时间间隔。例如,可以在回调函数中根据某些条件来决定下一次轮询的时间间隔。
using System;
using System.Threading;
class Program
{
static Timer timer;
static void Main()
{
timer = new Timer(TimerCallback, null, 0, 1000); // 1秒钟轮询一次
Console.ReadLine();
}
static void TimerCallback(object state)
{
Console.WriteLine(DateTime.Now);
// 根据某些条件来决定下一次轮询的时间间隔
if (someCondition)
{
timer.Change(2000, Timeout.Infinite); // 2秒钟后再次轮询
}
else
{
timer.Change(1000, Timeout.Infinite); // 1秒钟后再次轮询
}
}
}
在回调函数中,可以使用Timer类的Change方法来动态修改时间间隔。Change方法接受两个参数,第一个参数表示下一次轮询的间隔时间,第二个参数表示取消当前的轮询操作。通过在回调函数中动态改变时间间隔,可以实现动态间隔的轮询操作。