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);
        }
    }
}

  

  

posted @ 2019-02-26 10:03  皓月青峰  阅读(18755)  评论(1编辑  收藏  举报