簡體   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