c# - .NET 应用程序中的计时器

标签 c# .net timer

我想知道在 C# 应用程序中可以使用哪种计时器,以及它们在多线程环境中对并发性有何影响。
你能给我解释一下或者给我一个简单的教程吗?
谢谢。

最佳答案

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

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

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

关于c# - .NET 应用程序中的计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313677/

相关文章:

c# - Stream 意外结束,内容可能已被另一个组件读取。 Microsoft.AspNetCore.WebUtilities.MultipartReaderStream

c# - 用于定位 .NET 扩展方法的 Visual Studio 插件?

Linux环境,定时器回调与应用线程的同步

java - 为什么我的 java 计时器根本不重复代码?

android - 检查我在 x 时间段后没有收到 GPS 信号

c# - 'csc' 不是内部或外部命令,也不是可运行的程序或批处理文件

c# - Win 2003 服务器忽略 css 样式

c# - Skype 邀请信息

c# - 如何创建两个行为不同但接收相同数据类型的构造函数?

.net - 从 .net 控制台应用程序调用 http url?