我有两个相当独立的线程在运行。 一个生成数据,一个包含一些显示逻辑。
我通过一些传输数据
QMetaObject::invokeMethod(processor, "newData");
在发电机侧。 (处理器是作为小部件一部分的一些QObject(。
我的数据生成线程可能比另一个更快,而且一切都变得很慢。 在我的用例中,显示旧数据毫无意义,所以我不希望invokeMethod
调用排队。 应忽略进一步的调用,或者最多只执行最新的调用。
我怎样才能做到这一点?
newData
方法只应使用零成本复制容器(隐式共享(更新要显示的数据记录并请求小部件更新。然后,小部件更新应获取最新数据并显示它。