繁体   English   中英

使用单例在线程之间传递数据

[英]Passing data between threads using a singleton

让我快速解释一下我要做什么。 我目前有一个包含2个线程的程序。 一个工作线程和一个GUI线程,该工作线程以2kHz的频率收集传感器数据,并且GUI线程可视化所收集的数据。 该程序使用Qt框架以c ++编写。

我已经尝试过signal and slot选项,我通过将Qvector<PointF>作为工作线程中的信号传递给GUI线程中的插槽来实现。 但是后来我遇到了“不稳定数据”的问题,而在绘制数据时,我的工作人员停止了。

然后,我想到了使用单例在两个线程之间传递数据,这是主要问题。 在这种情况下使用单例是一个好的解决方案? 还是有解决该问题的更好方法?

我已经通过使用全局Qvector<PointF>和全局互斥量来保护数据来测试该概念,但是由于我想到使用单例代替了全局变量,因此对此感到不满。

最好的祝福

不,那不是单身人士的本意。 您有两个线程,只需提供一种将数据从一个转移到另一个的共享机制,并使该机制可用于两个线程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM