我想知道在 C# 应用程序中可以使用哪种计时器,以及它们在多线程环境中对并发性有何影响。
你能给我解释一下或者给我一个简单的教程吗?
谢谢。
最佳答案
有两种形式的计时器 - 一种是基于消息的,通常以 UI 为中心,另一种是基于线程的。
UI 版本是 Timer class from Windows Forms或 DispatcherTimer in WPF .这些倾向于在 UI 线程上(通常)报告时间,并且基本上使用标准消息泵来处理时间。
System.Timers.Timer和 System.Threading.Timer类使用单独的线程来处理计时器。这些工作得很好,但“Tick”事件发生在一个单独的线程上。这意味着如果您使用这些,您需要处理线程同步或 UI 线程同步。
关于c# - .NET 应用程序中的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313677/