首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTimer计时错误

QTimer计时错误
EN

Stack Overflow用户
提问于 2011-12-19 00:58:16
回答 2查看 793关注 0票数 0

我有两个Qtimers。T1从100ms开始。T2从2ms开始。

我设置了一些变量来控制他们的时间。为什么他们没有及时赶到呢?有时T2会达到55、54或53,但永远不会达到确切的条件?我需要在每次T1超时时,T2已经做了50次超时!

谢谢。

有没有人能给我推荐一下同步的其他方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-19 01:01:38

您不能依赖计时器进行线程同步,因为CPU计时永远不会精确。其他应用程序在您的操作系统后台运行,并调整时间,因此您不能依赖它。

您必须使用其他同步方法,如监视器、信号量等。

票数 3
EN

Stack Overflow用户

发布于 2011-12-19 01:09:20

您的计时器永远不会给您提供正确的时间间隔,因为依赖于您的操作系统线程,进程调度程序。因此,为了计算有效的运行时间,您应该在您的timer tick方法中获取系统时间,并计算当前时间和计时器开始时间之间的差值。对于同步,在线程同步的情况下需要互斥或信号量。

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

https://stackoverflow.com/questions/8553259

复制
相关文章

相似问题

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