//本文详细描述QT 中QThread +信号量 实现生成者和消费者。
//调试通过。
//这个例子演示了怎样使用QSemaphore 信号量来保护对生成者线程和消费者线程共享的环形缓冲
//区的访问。
//生成者向缓冲区中写入数据,直到达到缓冲区的终点,这时它会从起点重新开始,覆盖已经存在
//的数据
//消费者线程读取它产生的数据,并将其输出。
//这个例子中包含Producer和Consumer类,它们都继承自QTherad
//环形缓冲区用来在这两个缓冲区通讯,保护缓冲区的信号量被设置为全局变量
//---------------------------------------------------------------------
//1.main 文件
#include <QCoreApplication>
#include <QSemaphore>
#include "producer.h"
#include "consumer.h"
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug()<<"start";
Producer producer;
Consumer consumer;
/* 启动生产者和消费者线程 */