中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中定時器Timer的使用示例

發布時間:2021-03-06 14:08:08 來源:億速云 閱讀:232 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關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的使用示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岢岚县| 固始县| 怀仁县| 福清市| 南岸区| 上饶市| 天津市| 格尔木市| 陆川县| 崇明县| 建昌县| 丰顺县| 土默特左旗| 永胜县| 江阴市| 吉安市| 双峰县| 城固县| 博湖县| 桦甸市| 开原市| 无锡市| 沂源县| 明光市| 上犹县| 睢宁县| 丹阳市| 彩票| 石棉县| 永州市| 太仓市| 兴城市| 皮山县| 中江县| 徐汇区| 浙江省| 凤翔县| 淄博市| 阿坝| 余姚市| 南溪县|