qt线程间的通信有其特有的信号与槽,也可通过共享内存的方式实现,下面演示如何使用QShareMemory实现线程间的共享内存;这里使用为简单的理解QShareMemory,并没有实现消费者和生产者的逻辑。
<>标题生产者端程序
<>头文件
#ifndef PRODUCERTHREAD_H #define PRODUCERTHREAD_H /** * @file producerthread.h
* @brief 生产者线程,用于向共享内存写入数据 * @author yidong.yang * @date 2019-10-15 * @hitstory
v2.0 */ #include <QObject> #include <QThread> #include <QSharedMemory> #include
<QDebug> class ProducerThread: public QThread { public: ProducerThread();
protected: void run() override;///>重写run函数 private: bool stopped; QSharedMemory
*producerShare;///>生产者共享内存 }; #endif // PRODUCERTHREAD_H
<>源文件
#include "producerthread.h" ProducerThread::ProducerThread() { stopped =
false; producerShare = new QSharedMemory(); producerShare-&