国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#自定義基于控制臺的Timer實例

2020-01-24 01:31:45
字體:
來源:轉載
供稿:網友

本文實例講述了C#自定義基于控制臺的Timer實現方法。分享給大家供大家參考。具體如下:

一、概述

這里實現了一個自定義類TimerTest,該類可以模擬一個Timer,經過指定時間間隔執行某個事件。

二、TimerTest類

//定時器類class TimerTest{ //線程名 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 TimerTest(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;    }   }  } }}

三、調用示例

每1000毫秒輸出當前的時間

/// <summary>/// 測試用事件/// </summary>static void TestHandler(){ //TODO Console.WriteLine(DateTime.Now.ToLongTimeString());}static void Main(string[] args){ TimerTest tt = new TimerTest("timer_test", 1000); tt.Enabled = true; tt.TickEvent += TestHandler; Thread timer = new Thread(tt.Run); timer.Start(); Console.ReadLine();}

四、運行結果

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克苏市| 平乡县| 呼伦贝尔市| 泾阳县| 双鸭山市| 金昌市| 平阳县| 隆德县| 诏安县| 云南省| 西乌| 上杭县| 会理县| 额敏县| 库尔勒市| 芦山县| 马鞍山市| 定安县| 清河县| 明星| 岗巴县| 邹城市| 庆安县| 白水县| 板桥市| 丹巴县| 延安市| 霸州市| 黄冈市| 澜沧| 宁强县| 札达县| 乡城县| 伽师县| 昭平县| 乡宁县| 乌兰县| 滕州市| 陇南市| 灵璧县| 景宁|