C# 定时器Timer的实例介绍
导读:收集整理的这篇文章主要介绍了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核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C# 定时器Timer的实例介绍
本文地址: https://pptw.com/jishu/592253.html