让我快速解释一下我想做什么。我目前有一个由2个线程组成的程序。一个工作线程和一个GUI线程,工作线程正在以2kHz收集传感器数据,GUI线程可视化收集的数据。该程序使用Qt框架用c ++编写。
我已经尝试过信号和插槽选项,我通过将Qvector<PointF>
作为工作线程中的信号传递到我的GUI线程中的插槽来完成此操作。但后来我遇到了#34;波动数据&#34;的问题,而正在绘制数据时我的工人被停止了。
然后我考虑使用单例在两个线程之间传递数据,这是主要问题; 在这种情况下使用单例是一个很好的解决方案吗?或者有更好的方法来解决问题吗?
我已经通过使用全局Qvector<PointF>
和全局互斥来保护数据来测试这个概念,但是由于全局变量令人不悦,我想改用单例。
祝你好运
答案 0 :(得分:1)
不,这不是单身人士的意思。你有两个线程,只提供一个共享机制,将数据从一个移动到另一个,并使这个机制可用于两个线程。