Windows.Forms.Timer或System.Threading.Timer

问题描述 投票:45回答:1

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

c# .net timer
1个回答
73
投票

本文提供了一个很好的比较,应该包含您需要的信息: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

* Depending on the availability of system resources (for example, worker threads)
© www.soinside.com 2019 - 2024. All rights reserved.