.net - Threading.Timer与Forms.Timer

标签 .net winforms multithreading .net-2.0

这个问题的简短形式:什么时候在多线程WinForms应用程序中使用Forms.Timer是合适的?

更具体地说,我正在设计一个应用程序,该应用程序使用多个System.Threading.Timers异步启动进程,检查包含那些异步进程结果的队列,并更新统计信息以由应用程序的主要形式显示。

在这样的应用程序中,是否适合使用Forms.Timer来实际检查应用程序统计信息并将其绘制到主窗体中,还是只是为了确保应用程序的平稳运行而付出了代价?

最佳答案

Forms.Timer注册计时器,以便在计时器关闭时发送消息。引发的事件被视为GUI事件。 System.Threading.Timer使用线程阻塞方法。基本上,应该将Forms.Timer用于面向GUI的计时器(向用户界面添加一些效果),并使用Threading.Timer安排任务和其他事情。

关于.net - Threading.Timer与Forms.Timer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418423/

相关文章:

.net - 方法与属性

c# - 双字符串格式

c# - 将 VB.NET 转换为 C# 时出现问题

c - 仅在线程中发生冲突时才使用互斥锁

java - 在GUI中动态更新JTextArea

c# - 如何使用 PutObjectAsync 通过 dotnet SDK 将 base64 pdf 上传到 S3

c# - 如何配置应用程序以在具有高 DPI 设置(例如 150%)的机器上正确运行?

c# - 在 winforms 中使用 MVC MVP 模式

c# - 如果 picturebox.image == Properties.Resources.Image

c - 你如何以可重入的方式 InitializeCriticalSection?