码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-12-31 11:18:52      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:ati   nbsp   second   system   hang   col   static   while   threading   

 

        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)

标签:ati   nbsp   second   system   hang   col   static   while   threading   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!