.NET应用程序中的计时器

Mau*_*lli 2 .net c# timer

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

Ree*_*sey 7

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

UI版本是Windows窗体中的Timer类WPF中DispatcherTimer.这些往往会在UI线程上报告时间(通常),并且基本上使用标准消息泵来处理时序.

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