为什么.Net框架中有五个计时器类,即:
System.Timers.Timer
System.Threading.Timer
System.Windows.Forms.Timer
System.Web.UI.Timer
System.Windows.Threading.DispatcherTimer
为什么有几个版本的Timer类?它们之间有什么区别?
答案 0 :(得分:10)
Timers.Timer
在设置的时间间隔后生成一个事件,并提供生成重复事件的选项。 MSDN
Windows.Forms.Timer
是winforms的控件。
Web.UI.Timer
以定义的间隔执行异步或同步网页回发。 MSDN
Threading.Timer
是Callbacks的计时器。创建一个新的Thread来工作。由线程池线程提供。 MSDN
因此,这些计时器有不同的用途,也有不同的工具。
答案 1 :(得分:7)
以下是主要计时器的说明以及我认为最值得注意的几点。
Winforms.Timer
DispatcherTimer
Threading.Timer
Timers.Timer
答案 2 :(得分:0)
Microsoft在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 Forms组件,该组件定期触发事件。该组件具有 没有用户界面,设计用于单线程 环境。
System.Web.UI.Timer
(仅.NET Framework):一个ASP.NET组件,它在以下位置执行异步或同步网页回发 定期间隔。