新随笔  :: 联系 :: 订阅 订阅  :: 管理

定时器:.NET Framework类库中的Timer类比较(翻译)

Posted on 2009-12-04 11:56  sakiwer  阅读(111)  评论(0)    收藏  举报

定时器:.NET Framework类库中的Timer类比较

 

原作者:Alex Calvo

原文:http://msdn.microsoft.com/zh-cn/magazine/cc164015(en-us).aspx

翻译:flyjimi

 

源代码下载地址:TimersinNet.exe (126KB)

源代码在线查看

 

概要

在客户端程序和服务器组件(包括windows服务)中,timer(定时器)通常扮演着一个重要角色。编写高效的timer驱动的托管代码,需要对程序流程和.net线程模型的精妙有清晰的理解。.NET Framework 类库提供了三个不同的timer类:System.Windows.Forms.Timer, System,Timers.Timer System.Threading.Timer。每个Timer类被设计优化用于不同的场合。本文研究了这三个Timer类,帮组你理解如何及何时该使用哪个类。

 

目录

System.Windows.Forms.Timer

System.Timers.Timer

System.Threading.Timer

定时器的线程安全编程

处理timer事件的重入

结论

 

Microsoft® Windows® 中的Timer对象在行为发生时允许你进行控制。Timer最常见的一些用法是有规律的定时启动一个进程,设置事件发生的间隔,在处理图像时维持一致的动画速度(不管处理器的速度如何)。在过去,对于使用Visual Basic®的开发人员来说, Timer甚至能用来模拟多任务。

如你所想,微软.NET Framework为你提供了处理这些任务所需的工具。在.NET Framework类库中有三个不同的Timer类:System.Windows.Forms.Timer, System,Timers.Timer System.Threading.Timer。前两个类出现在Visual Studio® .NET 工具箱中,你可以直接把它们拖拽到Windows窗体设计器或组件设计器。如果你不小心,这时麻烦就开始了。

Visual Studio .NET 工具箱在Windows窗体页和组件页都有一个Timer控件(见图1)。很容易就用错了,或者更糟的是没有认识到它们是不同的。仅当目标是Windows窗体设计器时,使用Windows窗体页上的Timer控件。这个控件会在你的窗体上放置一个System.Windows.Forms.Timer类的实例。正如工具箱中的其它控件,你可以让Visual Studio .NET自动生成,或者也可以自己手工实例化、初始化这个类。





http://blog.csdn.net/flyjimi/archive/2008/11/30/3414143.aspx


类别:.net 查看评论