C++ QTimer定时错误

C++ QTimer定时错误,c++,qt,timer,C++,Qt,Timer,我有两个计时器。 T1从100ms开始。 T2从2ms开始 我放了一些变量来控制它们的时间。 为什么他们不及时? 有时T2达到55、54或53,但从未达到确切的条件? 我需要在每一次T1超时时,T2都有50次超时 谢谢 有人能给我推荐其他的同步方法吗?线程同步不能依赖计时器,因为CPU的计时永远都不精确。其他应用程序在您的操作系统的后台运行,并调整时间,因此您不能依赖它 您必须使用其他同步方法,如监视器、信号量等。线程同步不能依赖计时器,因为CPU计时永远不精确。其他应用程序在您的操作系统的后台

我有两个计时器。 T1从100ms开始。 T2从2ms开始

我放了一些变量来控制它们的时间。 为什么他们不及时? 有时T2达到55、54或53,但从未达到确切的条件? 我需要在每一次T1超时时,T2都有50次超时

谢谢


有人能给我推荐其他的同步方法吗?

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


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

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


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

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

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

-请阅读“精度和计时器分辨率”部分。-阅读“精度和计时器分辨率”部分。