首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >timers.timer未完全触发

timers.timer未完全触发
EN

Stack Overflow用户
提问于 2011-01-10 12:52:54
回答 1查看 361关注 0票数 1

我使用timers.timer每隔5秒触发一个事件。我注意到的是,过了一段时间,它每隔6秒就会触发一次。还有很多其他线程在并行运行。将使用threadpool.The漂移生成的timers.timer事件是因为其他线程正在运行paralley。对吗?我的应用是wpf应用。我不能使用调度程序计时器,因为它可能会影响UI。

我想在不影响UI的情况下,每隔5秒触发一个计时器事件,与其他线程无关。什么是解决方案/最好的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-10 13:44:34

我不确定为什么会发生这种情况,但timer.timer不是为此目的而设计的。如果您打算在不同的线程上有许多并发运行的计时器,那么可以考虑使用System.Threading.Timer。

System.Threading.Timer是一个简单、轻量级的计时器,它使用回调方法,由线程池线程提供服务。不建议将其用于Windows窗体,因为它的回调不发生在用户界面线程上。对于Windows Forms,System.Windows.Forms.Timer是更好的选择。对于基于服务器的计时器功能,您可以考虑使用System.Timers.Timer,它会引发事件并具有其他功能。看一看

http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4643782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档