Qt插槽 - 不同速度的发送方/接收方 - 防止数据排队



我有两个相当独立的线程在运行。 一个生成数据,一个包含一些显示逻辑。

我通过一些传输数据

QMetaObject::invokeMethod(processor, "newData");

在发电机侧。 (处理器是作为小部件一部分的一些QObject(。

我的数据生成线程可能比另一个更快,而且一切都变得很慢。 在我的用例中,显示旧数据毫无意义,所以我不希望invokeMethod调用排队。 应忽略进一步的调用,或者最多只执行最新的调用。

我怎样才能做到这一点?

newData方法只应使用零成本复制容器(隐式共享(更新要显示的数据记录并请求小部件更新。然后,小部件更新应获取最新数据并显示它。

最新更新