代码改变世界

.NET中Timer的不同

2009-11-11 16:44  Rainbow  阅读(369)  评论(0编辑  收藏  举报
1、 System.Windows.Form.Timer:

基于UI层的计时器,与UI在同一个线程,在timer的事件处理中,UI层失去响应。单线程组件,精度限定为 55 毫秒。事件由Tick触发。

2、 System.Timers.Timer:

基 于服务器的计时器,与UI不在同一个线程。多线程组件。Elapsed 事件在 ThreadPool 线程上引发。如果 Elapsed 事件的处理时间比 Interval 长,在另一个 ThreadPool 线程上将会再次引发此事件。因此,事件处理程序应当是可重入的。

3、 System.Threading.Timer:

基于线程的计时器,是一个简单的轻量计时器,使用 TimerCallback 委托指定希望 Timer 执行的方法,由计时器执行的回调方法应该是可重入的,因为它是在 ThreadPool 线程上调用的。