大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家分享的是有关C#中定时器Timer的使用示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
成都创新互联公司专注于企业营销型网站建设、网站重做改版、东平网站定制设计、自适应品牌网站建设、H5建站、电子商务商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为东平等各大城市提供网站开发制作服务。
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(); } ////// 测试用事件 /// 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; ////// 建立一个计时器(构造函数) /// /// 线程名 /// 时间间隔 public TimerDemo(string ThreadName, int TimeInterval = int.MaxValue) { this.ThreadName = ThreadName; this.TimeInterval = TimeInterval; this.Enabled = false; } ////// 定期执行事件 /// 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的使用示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!