0

所以我意识到我上次的解释不太清楚,所以我会再试一次。

我有一个程序,它有一个传感器类,每 40 毫秒左右从 Lego NXT 传感器获取值。我还有另一个绘图类(我相信在同一个线程中运行),它在虚拟世界中使用 opengl 每 1 毫秒绘制和移动汽车。现在的问题是,每当我的传感器获取信息时,汽车就会非常迟钝并且行驶缓慢,但是当传感器关闭并且无法获取和输入数据时,汽车会平稳运行。我该如何解决这个问题,我相信我需要创建另一个线程但我不知道该怎么做?

注意:传感器与汽车无关。

4

1 回答 1

2

对线程给出一个通用的答案并不容易。Qt 为您提供了各种类来实现线程,因此最好看一下示例。通常,您不需要使用 Qt 进行线程化,除非您有一个阻塞 api,我猜您的传感器模块/类是。

这是一个很好的视频,展示了如何创建在另一个线程上运行的对象。您可以尝试LenghtyOperation将演示中的 实现为您的类,该类从您的传感器读取数据,然后发出信号以更新您的 GUI 线程。

这是另一个链接:无头疼的线程

于 2011-04-13T18:53:47.450 回答