为什么.Net框架中有五个定时器类,分别是:
System.Timers.Timer
System.Threading.Timer
System.Windows.Forms.Timer
System.Web.UI.Timer
System.Windows.Threading.DispatcherTimer
为什么有多个版本的 Timer 类?它们之间有什么区别?
以下是对主要计时器的描述以及我认为最值得注意的要点。
Winforms.Timer
DispatcherTimer
Threading.Timer
Timers.Timer
微软现在在 MSDN 文章中回答了这个问题system.timers.timer
https://docs.microsoft.com/en-us/dotnet/api/system.timers.timer?view=net-5.0
小费
请注意,.NET 包含四个名为 Timer 的类,每个类都提供不同的功能:
System.Timers.Timer
(本主题):定期触发事件。该类旨在用作多线程环境中的基于服务器或服务组件;它没有用户界面,在运行时不可见。
System.Threading.Timer
:定期在线程池线程上执行单个回调方法。回调方法是在定时器实例化时定义的,不能更改。与 System.Timers.Timer 类一样,此类旨在用作多线程环境中的基于服务器或服务组件;它没有用户界面,在运行时不可见。
System.Windows.Forms.Timer
(仅限 .NET Framework):定期触发事件的 Windows 窗体组件。该组件没有用户界面,设计用于单线程环境。
System.Web.UI.Timer
(仅限 .NET Framework):一个 ASP.NET 组件,它定期执行异步或同步网页回发。