Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 在多线程应用程序中设置动画时,QT UI会抖动!_Multithreading_Qt - Fatal编程技术网

Multithreading 在多线程应用程序中设置动画时,QT UI会抖动!

Multithreading 在多线程应用程序中设置动画时,QT UI会抖动!,multithreading,qt,Multithreading,Qt,QT应用程序中的多线程问题 我有一个多线程应用程序,主UI线程和工作线程 线我已经用TimeCriticalPriority和 具有正常优先级的工作线程。这样我的UI就不会冻结 在任何时候。 但是当我尝试为一个屏幕设置动画,以便从一个屏幕切换到另一个屏幕时 我在UI上看到的另一个屏幕上有一些乱七八糟的东西 这里的问题是,当UI线程设置动画以切换 屏幕上,平台从UI线程切换到工作线程 导致颠簸。我如何解决这个问题 我想以下解决方案可能会帮助我解决这些问题 问题。但我该如何实施解决方案呢? 1.使工

QT应用程序中的多线程问题

我有一个多线程应用程序,主UI线程和工作线程 线我已经用TimeCriticalPriority和 具有正常优先级的工作线程。这样我的UI就不会冻结 在任何时候。 但是当我尝试为一个屏幕设置动画,以便从一个屏幕切换到另一个屏幕时 我在UI上看到的另一个屏幕上有一些乱七八糟的东西

这里的问题是,当UI线程设置动画以切换 屏幕上,平台从UI线程切换到工作线程 导致颠簸。我如何解决这个问题

我想以下解决方案可能会帮助我解决这些问题 问题。但我该如何实施解决方案呢? 1.使工作线程等待直到UI线程中的动画完成。 -如何使工作线程等待? 2.让UI线程一直忙到动画结束? -如何使UI线程繁忙?(可能的解决办法 解决方案可能会在UI线程中调用一些递归函数,所以它会这样做 不切换到工作线程)

是否有其他方法将屏幕从左向右或从右切换 反之亦然,但不在QT中使用Qpropertyanimation

对此,我们非常感谢您的任何建议/帮助

有人能告诉我可能的解决办法吗

提前谢谢

致意
Varun Jajee

您可能希望降低工作线程的优先级(例如,降低优先级或降低优先级),而不是提高UI线程的优先级。这样,工作线程就不会占用程序可能间接依赖的其他线程/进程的CPU周期(例如,操作系统用于跟踪鼠标的线程或类似线程)。(与提高线程优先级相比,降低线程优先级更可取,因为某些操作系统会阻止非根进程/线程提高优先级)


此外,您可能还希望查看UI线程锁定的任何互斥锁是否也可能被工作线程锁定。如果有,这些可能会导致用户界面线程被阻塞,直到工作线程释放互斥锁。

非常感谢您的时间和提示。感谢您的时间和帮助。我使用的是WindowsCE6.0操作系统,很抱歉我在之前的帖子中没有指定这一点。根据您的建议,我将工作线程的优先级降低为LowPriority,然后再降低为LowerPriority,但这没有帮助。我仍然面临同样的问题。我正处于应用程序的设计阶段,目前我没有使用互斥。请告诉我是否可以尝试任何其他解决方案!