.NET应用程序中的计时器

时间:2010-02-22 19:52:14

标签: c# .net timer

我想知道在C#应用程序中可以使用哪种计时器,以及它们在多线程环境中对于cuncurrency的影响。
你能解释一下我或者把我链接到一个有用的教程吗? 谢谢。

1 个答案:

答案 0 :(得分:7)

有两种形式的计时器 - 基于消息的,通常以UI为中心,以及基于线程的计时器。

UI版本为Timer class from Windows FormsDispatcherTimer in WPF。这些往往会在UI线程上报告时间(通常),并且基本上使用标准消息泵来处理时间。

System.Timers.TimerSystem.Threading.Timer类使用单独的线程来处理计时器。这些工作非常好,但“Tick”事件发生在一个单独的线程上。这意味着如果使用这些,则需要处理线程同步或UI线程同步。