正确的选择使用.NET中的三个Timer
Timer这个类在.NET的类库中有三个:
1)System.Threading.Timer
是一个使用回调方法的计时器,而且由线程池线程服务,简单且对资源要求不高。
2)System.Windows.Forms.Timer
这是一个必须和Windows窗体一起使用的Timer。
3)System.Timers.Timer
基于服务器计时器功能的Timer,根据服务器系统时间进行运行的Timer。如果需要写Windows Services的话可以使用这个Timer来进行一
些需要在一定间隔时间进行某项操作的环境下使用。
它使您能够指定在应用程序中引发 Elapsed 事件的周期性间隔。然后可以操控此事件以提供定期处理。例如,假设您有一台关键性服务
器,必须每周 7 天、每天 24 小时都保持运行。可以创建一个使用 Timer 的服务,以定期检查服务器并确保系统开启并在运行。如果系统不
响应,则该服务可以尝试重新启动服务器或通知管理员。基于服务器的 Timer 是为在多线程环境中用于辅助线程而设计的。服务器计时器可
以在线程间移动来处理引发的 Elapsed 事件,这样就可以比 Windows 计时器更精确地按时引发事件。
1)System.Threading.Timer
是一个使用回调方法的计时器,而且由线程池线程服务,简单且对资源要求不高。
2)System.Windows.Forms.Timer
这是一个必须和Windows窗体一起使用的Timer。
3)System.Timers.Timer
基于服务器计时器功能的Timer,根据服务器系统时间进行运行的Timer。如果需要写Windows Services的话可以使用这个Timer来进行一
些需要在一定间隔时间进行某项操作的环境下使用。
它使您能够指定在应用程序中引发 Elapsed 事件的周期性间隔。然后可以操控此事件以提供定期处理。例如,假设您有一台关键性服务
器,必须每周 7 天、每天 24 小时都保持运行。可以创建一个使用 Timer 的服务,以定期检查服务器并确保系统开启并在运行。如果系统不
响应,则该服务可以尝试重新启动服务器或通知管理员。基于服务器的 Timer 是为在多线程环境中用于辅助线程而设计的。服务器计时器可
以在线程间移动来处理引发的 Elapsed 事件,这样就可以比 Windows 计时器更精确地按时引发事件。