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
