.net Timer 比较

本文详细介绍了.NET中的三种Timer类型:System.Windows.Forms.Timer、System.Timers.Timer和System.Threading.Timer,包括它们的工作原理、适用场景及精度特点。强调UI相关推荐使用System.Timers.Timer,后台高精度任务推荐System.Threading.Timer。并提供了时间精确性测试的代码示例,指出在高精度需求下可考虑使用winmm.dll的timeSetEvent方法。
摘要由CSDN通过智能技术生成

    在 Win32 体系结构中有两种类型的线程:UI 线程和辅助线程。UI 线程绝大多数时间处于空闲状态,等待消息循环中的消息到来。一旦接收到消息,它们就进行处理并等待下一个消息到来。另外,辅助线程用来执行后台处理而且不使用消息循环。Windows计时器和基于服务器的计时器在运行时都使用 Interval属性。线程计时器的时间间隔在 Timer构造函数中设置。计时器的设计目的各不相同,它们的线程处理明确地指出了这一点:

 

1.      System.Windows.Forms.Timer

实现按用户定义的时间间隔引发事件的计时器。此计时器最宜用于 Windows窗体应用程序中,并且必须在窗口中使用。 

Timer 用于以用户定义的事件间隔触发事件。Windows计时器是为单线程环境设计的,其中,UI线程用于执行处理。它要求用户代码有一个可用的 UI消息泵,而且总是在同一个线程中操作,或者将调用封送到另一个线程。

Windows 窗体 Timer组件是单线程组件,精度限定为 55毫秒。如果您需要更高精度的多线程计时器,请使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值