当前位置:  开发笔记 > 程序员 > 正文

.NET计时器:什么是在X秒内通知的最佳方式?

如何解决《.NET计时器:什么是在X秒内通知的最佳方式?》经验,为你挑选了2个好方法。

假设我有一个非重复发生的事件,需要从现在开始X秒,例如超时.直观地说,创建一个System.Timers.Timer,将其间隔设置为X*1000,将其勾选到事件并启动它是有意义的.因为这是一个非经常性的事件,你只需要它一旦你需要在它滴答之后停止计时器.

然而,如果这确实是最好的方式,那么计时器固有地反复出现的事实让我不信任.保存开始的时间是否更好/更准确/更安全,将计时器设置为每秒(或甚至毫秒)滴答,然后勾选系统时间并仅在必要时间过后手动提升目标事件?

如果任何一种方法最好的话,任何人都可以权衡其中(也许还有其他选择我也没有想到).如果我需要等待的时间跨度是以毫秒为单位测量的,那么一种方法是否会比另一种更好?



1> Ben Hoffstei..:

System.Threading.Timer的此构造函数允许您指定句点.如果将此参数设置为-1,它将禁用定期信令并仅执行一次.

public Timer(
    TimerCallback callback,
    Object state,
    TimeSpan dueTime,
    TimeSpan period
)



2> Joachim Kers..:

只需使用普通计时器,并在经过一次后将其禁用.这应该可以解决你的问题.

system.threading.timer和system.timers.timer都支持这个.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有