首页后端开发ASP.NETC# 定时器Timer的实例介绍

C# 定时器Timer的实例介绍

时间2024-01-30 08:01:03发布访客分类ASP.NET浏览225
导读:收集整理的这篇文章主要介绍了C# 定时器Timer的实例介绍,觉得挺不错的,现在分享给大家,也给大家做个参考。static void Main(string[] args { #region 定时器...
收集整理的这篇文章主要介绍了C# 定时器Timer的实例介绍,觉得挺不错的,现在分享给大家,也给大家做个参考。
static void Main(string[] args)        {
                #region  定时器            TimerDemo td = new TimerDemo("TimerDemo", 1000);
                td.Enabled = true;
                td.TickEvent += testHandler;
                Thread timer = new Thread(td.Run);
                timer.Start();
                #endregion            Console.ReadLine();
        }
            /// summary>
            /// 测试用事件        /// /summary>
        static void TestHandler()        {
                Console.WrITeLine(DateTime.Now.ToLongTimeString());
        }
    

  

public class TimerDemo        {
            //线程名        string _ThreadName;
        public string ThreadName        {
            get {
     return _ThreadName;
 }
            PRivate set {
     _ThreadName = value;
 }
        }
            //时间间隔        int _Timeinterval;
        public int TimeInterval        {
            get {
     return _TimeInterval;
 }
            set {
     _TimeInterval = value;
 }
        }
            //当前计时器是否启用 true:启用 false:不启用        bool _Enabled;
        public bool Enabled        {
            get {
     return _Enabled;
 }
            set {
     _Enabled = value;
 }
        }
            //每隔一段时间需要运行的事件        public delegate void TickEventHandler();
            public event TickEventHandler TickEvent;
            /// summary>
            /// 建立一个计时器(构造函数)        /// /summary>
            /// param name="ThreadName">
    线程名/param>
            /// param name="TimeInterval">
    时间间隔/param>
        public TimerDemo(string ThreadName, int TimeInterval = int.MaxValue)        {
                this.ThreadName = ThreadName;
                this.TimeInterval = TimeInterval;
                this.Enabled = false;
        }
            /// summary>
            /// 定期执行事件        /// /summary>
        public void Run()        {
            while (true)            {
                //如果当前计时器并未启用,则每隔一段时间检测是否被启用                if (!this.Enabled)                {
                        Thread.Sleep(100);
                        continue;
                }
                //触发事件TickEvent                if (TickEvent != null)                {
                        TickEvent();
                }
                    //休眠一定的时间,等待下一个循环                Thread.Sleep(TimeInterval % 100);
                    for (int temp = 0;
     temp  TimeInterval / 100;
 temp++)                {
                        Thread.Sleep(100);
                    if (!this.Enabled)                    {
                            break;
                    }
                }
            }
        }
    }
    

  

以上就是C# 定时器Timer的实例介绍的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

.netcsharp定时器"

若转载请注明出处: C# 定时器Timer的实例介绍
本文地址: https://pptw.com/jishu/592253.html
es6数组方法有什么 分享GTS-800二次开发流程步骤

游客 回复需填写必要信息