阅读量:0
在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方法接受两个参数,第一个参数表示下一次轮询的间隔时间,第二个参数表示取消当前的轮询操作。通过在回调函数中动态改变时间间隔,可以实现动态间隔的轮询操作。