Windows.Forms.Timer或System.Threading.Timer

dea*_*ock 46 .net c# timer

我有一个运行许多线程的应用程序.每个线程都应该有一个计时器来检查该线程范围内的某些内容.我的问题是:我应该使用哪个计时器,它们之间有什么区别?

Mit*_*eat 75

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

                                    Windows.Forms  System.Timers         System.Threading 
Timer event runs on what thread?    UI thread      UI or worker thread   Worker thread 
Instances are thread safe?          No             Yes                   No 
Familiar/intuitive object model?    Yes            Yes                   No 
Requires Windows Forms?             Yes            No                    No 
Metronome-quality beat?             No             Yes*                  Yes* 
Timer event supports state object?  No             No                    Yes 
Initial timer event schedulable?    No             No                    Yes 
Class supports inheritance?         Yes            Yes                   No

*取决于系统资源的可用性(例如,工作线程)