所以我意识到我的解释上次不太清楚所以我会再试一次。
我有一个程序,其传感器类每40毫秒左右从Lego NXT传感器获取值。我还有另一个绘图类(我相信在同一个线程中运行),它在虚拟世界中使用opengl每1毫秒绘制和移动汽车。现在的问题是,当我的传感器获取信息时,汽车非常迟缓并且移动缓慢,但是当传感器关闭而没有获取并输入数据时,汽车运行平稳。我如何解决这个问题,我相信我需要创建另一个线程,但我不知道该怎么做?
注意:传感器与汽车无关。
答案 0 :(得分:2)
为线程提供通用答案并不容易。 Qt为您提供了各种类来实现线程,因此最好看一下示例。一般情况下,你不需要使用Qt进行线程化,除非你有一个阻塞api ,我猜你的传感器模块/类。
这是一个nice video,显示如何创建在另一个线程上运行的对象。您可以尝试在演示中实现LenghtyOperation
作为从您的传感器读取数据然后发出信号以更新GUI线程的类。
这是另一个链接:Threading without the headache