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