Windows.Forms.Timer或System.Threading.Timer

时间:2010-12-26 05:14:58

标签: c# .net timer

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

1 个答案:

答案 0 :(得分:74)

本文提供了一个很好的比较,应该包含您需要的信息:Comparing the Timer Classes in the .NET Framework Class Library

                                    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

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