C#中三种定时器对象的比较

转载 2007年09月20日 09:36:00
 

·关于C#中timer类 在C#里关于定时器类就有3个
1.定义在System.Windows.Forms里
2.定义在System.Threading.Timer类里
3.定义在System.Timers.Timer类里

System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console Application(控制台应用程序)无法使用。

System.Timers.Timer和System.Threading.Timer非常类似,它们是通过.NET Thread Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。System.Timers.Timer还可以应用于WinForm,完全取代上面的Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。

例:
使用System.Timers.Timer类
System.Timers.Timer t = new System.Timers.Timer(10000);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;

public void theout(object source, System.Timers.ElapsedEventArgs e)
{
MessageBox.Show("OK!");
}

C#实现高精度定时器

原文地址:http://blog.csdn.net/nocky/article/details/6056413 我在作者代码的基础上稍微改了一下,并测试,实际效果非常好,定时非常准确,会有1毫秒左右的...
  • clb929
  • clb929
  • 2017年01月04日 22:07
  • 1141

C#自己编写定时器

我们在写winfrom时经常会用到定时器,比如客户端通过socket定时向服务器发送检测包等。.netframework提供了一个定时器控件System.Windows.Forms.Timer,使用很...
  • u012725119
  • u012725119
  • 2015年09月10日 15:45
  • 1074

C#.NET 定时器类及使用方法

在.net常用的定时器类有下面三种,使用定时器时需要设定参数,如间断时间、定时器计溢出后的回调函数、延时、开始等,定时器的的主要方法有开始、终止等,不同的定时器实现上述的方法会有一些差异,本文会针对具...
  • zhouqt
  • zhouqt
  • 2016年06月28日 22:46
  • 9645

C#调用多媒体定时器

在Windows操作系统下,为了获得高精度的定时器,大多数时候采用多媒体定时器,其分辨率可达到1ms,适用于对实时性要求比较高的场合(虽然Windows自身为非实时系统,但是在很多场合还是够用的);而...
  • arlen7772gg
  • arlen7772gg
  • 2016年06月25日 17:59
  • 1102

c#中的定时器的使用

在Framework中存在着4种定时器:其中分为两类, 多线程计时器 1:System.Threading.Timer 2:System.Timers.Timer 特殊目的的单线程计时器: ...
  • ycl295644
  • ycl295644
  • 2015年06月08日 16:02
  • 2012

C# .net 定时器,多线程实现定时器

using System; using System.Threading; namespace TimerRunDemo { class Program { /// ...
  • ArvinStudy
  • ArvinStudy
  • 2014年04月04日 16:44
  • 2391

C#创建windows服务搭配定时器Timer使用实例

功能说明:C#创建一个windows服务,服务启动时D:\mcWindowsService.txt写入数据,服务运行期间每隔两秒写入当前时间。       原理这些就不说了,三语两语说不清楚,直...
  • u012252959
  • u012252959
  • 2015年09月15日 16:22
  • 2573

WinForm和WebForm 对Quartz定时器使用

Quartz是第三方提供的定时调度框架,其官方地址http://www.quartz-scheduler.org/ 同样,安装惯例,该篇同样也是从项目中mark出来,方便对这个技术的惯例,好了废话不说...
  • Just_shunjian
  • Just_shunjian
  • 2016年04月12日 11:20
  • 1372

定时器和多线程的不同

最近在做项目的时候,遇到了视频采集图像时。使用定时器与或使用多线程有些纠结。原先用了定时器测试了,因为项目需要占用较多的cpu,所以很明显图像显示比较卡。 所以网上查了下。贴出来大家学习学习。 ...
  • luckypeng
  • luckypeng
  • 2016年02月18日 23:02
  • 2815

C# 线程:定时器的使用

转载请注明出处:http://www.cnblogs.com/KeenLeung/p/3911556.html Timer类:设置一个定时器,定时执行用户指定的函数。 定时器启动后,系...
  • qq_23126581
  • qq_23126581
  • 2017年06月05日 10:33
  • 674
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#中三种定时器对象的比较
举报原因:
原因补充:

(最多只允许输入30个字)