C# System.Threading.Timer 定时器
前提:
需要引入 System.Threading;
描述:
在很多时间我们都需要进行延迟执行,或是定时执行一些指定业务,这个时候使用 Timer 是最合适的,而且 Timer 是Cpu 级别处理对系统影响很少,就算创建上千上万个 Timer 也不会影响。
故见意多使用 Timer 是一个很好的定时任务器。
代码:
using System; using System.Threading; namespace MyTimer { class Program { //构建 Timer static Timer timer = new Timer(TimerCallBack, null, Timeout.InfiniteTimeSpan, Timeout.InfiniteTimeSpan); static void Main(string[] args) { //立即执行一次 timer.Change(TimeSpan.Zero, Timeout.InfiniteTimeSpan); Console.ReadKey(); } static void TimerCallBack(object state) { var nextTime = DateTime.Now.AddSeconds(10); Console.WriteLine("{0} 执行一次,下次执行时间 {1}", DateTime.Now, nextTime); //执行完后,重新设置定时器下次执行时间. timer.Change(nextTime.Subtract(DateTime.Now), Timeout.InfiniteTimeSpan); } } }