当前位置: 代码迷 >> QT开发 >> QT编程遇到的两个线程之间传输数据的有关问题
  详细解决方案

QT编程遇到的两个线程之间传输数据的有关问题

热度:280   发布时间:2016-04-25 02:57:03.0
QT编程遇到的两个线程之间传输数据的问题
背景描述:利用qt+winpcap抓取网络数据包进行分析

程序描述:目前有两个线程一个是主线程控制界面,一个子线程用来抓取数据包,当我在子线程中抓取的数据包分析后的数据,发送到主线程,想通过TableWidget显示出来,可是顺序不对,这是因为线程抢占cpu导致,要怎样做才能解决这个问题,最好详细点!!!很感谢!由于代码比较多我就不贴了而且这个问题也不是代码导致的,所以希望大家能说清楚点!
下面附图,是我抓获的数据,显示的很乱
这是界面上显示的,没按顺序打印出来
这是抓取的,按顺序打印的



希望各位大老爷能提供帮助!
------解决思路----------------------
代码发过来,我帮你改改。
------解决思路----------------------
使用信号控制啊,用信号控制两个线程的执行,收到信号才去执行相应操作不行吗
------解决思路----------------------
比较简单的办法就是读,写的过程都加锁,避免线程竞争的问题,不过要稍微注意一下加锁方式,避免堵塞 UI 线程
另外也可以看下“生产者消费者问题”,感觉应该适用你的场景
  相关解决方案