Windows.Forms.Timer或System.Threading.Timer

我有一个运行multithreading的应用程序。 每个线程都应该有一个计时器来检查该线程的作用域。 我的问题是:我应该使用哪个计时器,它们之间有什么区别?

本文提供了一个极好的比较,并且应该包含您需要的信息: 比较.NET Framework类库中的Timer类 :

  Windows.Forms System.Timers System.Threading 
计时器事件在什么线程上运行?  UI线程UI或工作线程工作线程 
实例是线程安全的? 否是否 
熟悉/直观的对象模型? 是是不是 
需要Windows窗体? 是否否 
节拍器质量的节拍? 否是*是* 
 Timer事件支持状态对象? 否否是的 
初始计时器事件可调度? 否否是的 
类支持inheritance? 是是不是

 *根据系统资源的可用性(例如,工作线程)