首页 > 其他 > 详细

27.8 执行定时计算限制操作(Timer)

时间:2018-12-31 11:06:53      阅读:186      评论:0      收藏:0      [点我收藏+]

 

        private static System.Threading.Timer s_Timer;
        static void Main()
        {
            Console.WriteLine("checking status every 2 seconds");
            s_Timer = new System.Threading.Timer(Status, null, Timeout.Infinite, Timeout.Infinite);
            s_Timer.Change(2000, Timeout.Infinite);
            Console.ReadKey();
        }
        private static void Status(object state)
        {
            Console.WriteLine("in status at {0}", DateTime.Now);
            Thread.Sleep(1000);
            //返回前让timer 2s 后再触发
            s_Timer.Change(2000, Timeout.Infinite);
        }

 

        static void Main()
        {
            Console.WriteLine("checking status every 2 seconds");
            Status();
            Console.ReadKey();
        }
        private static async void Status()
        {
            while (true)
            {
                Console.WriteLine("in status at {0}", DateTime.Now);
                //要检查的代码
                //在循环末尾,在不阻塞线程的前提下延迟2s
                await Task.Delay(2000);     //await 允许线程返回
                //2s 之后,某个线程会在await之后介入并继续循环
            }
        }

 

27.8 执行定时计算限制操作(Timer)

原文:https://www.cnblogs.com/kikyoqiang/p/10201446.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!