Csharp/C#教程:C#自定义基于控制台的Timer实例分享

本文实例讲述了C#自定义基于控制台的Timer实现方法。分享给大家供大家参考。具体如下:

一、概述

这里实现了一个自定义类TimerTest,该类可以模拟一个Timer,经过指定时间间隔执行某个事件。

二、TimerTest类

//定时器类 classTimerTest { //线程名 string_ThreadName; publicstringThreadName { get{return_ThreadName;} privateset{_ThreadName=value;} } //时间间隔 int_TimeInterval; publicintTimeInterval { get{return_TimeInterval;} set{_TimeInterval=value;} } //当前计时器是否启用true:启用false:不启用 bool_Enabled; publicboolEnabled { get{return_Enabled;} set{_Enabled=value;} } //每隔一段时间需要运行的事件 publicdelegatevoidTickEventHandler(); publiceventTickEventHandlerTickEvent; ///<summary> ///建立一个计时器(构造函数) ///</summary> ///<paramname="ThreadName">线程名</param> ///<paramname="TimeInterval">时间间隔</param> publicTimerTest(stringThreadName,intTimeInterval=int.MaxValue) { this.ThreadName=ThreadName; this.TimeInterval=TimeInterval; this.Enabled=false; } ///<summary> ///定期执行事件 ///</summary> publicvoidRun() { while(true) { //如果当前计时器并未启用,则每隔一段时间检测是否被启用 if(!this.Enabled) { Thread.Sleep(100); continue; } //触发事件TickEvent if(TickEvent!=null) { TickEvent(); } //休眠一定的时间,等待下一个循环 Thread.Sleep(TimeInterval%100); for(inttemp=0;temp<TimeInterval/100;temp++) { Thread.Sleep(100); if(!this.Enabled) { break; } } } } }

三、调用示例

每1000毫秒输出当前的时间

///<summary> ///测试用事件 ///</summary> staticvoidTestHandler() { //TODO Console.WriteLine(DateTime.Now.ToLongTimeString()); } staticvoidMain(string[]args) { TimerTesttt=newTimerTest("timer_test",1000); tt.Enabled=true; tt.TickEvent+=TestHandler; Threadtimer=newThread(tt.Run); timer.Start(); Console.ReadLine(); }

四、运行结果

C#自定义基于控制台的Timer实例

希望本文所述对大家的C#程序设计有所帮助。

上述就是C#学习教程:C#自定义基于控制台的Timer实例分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)! 您可能感兴趣的文章:[C#].NET中几种Timer的使用实例C#中自定义高精度Timer定时器的实例教程详解C#中的定时器Timer类及其垃圾回收机制C#中timer定时器用法实例C#使用timer实现的简单闹钟程序C#使用timer定时在屏幕上输出信息的方法C#中的Timer和DispatcherTimer使用实例C#中Forms.Timer、Timers.Timer、Threading.Timer的用法分析c#各种Timer类的区别与用法介绍C#中timer类的用法

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/906730.html

(0)
上一篇 2021年10月24日
下一篇 2021年10月24日

精彩推荐