jinlong的个人主页

http://www.qtcn.org/bbs/u/127542  [收藏] [复制]

jinlong

  • 1

    关注

  • 0

    粉丝

  • 5

    访客

  • 等级:新手上路
  • 总积分:1
  • 保密,2011-02-15

最后登录:2018-03-04

更多资料

日志

2017-07-24 22:02

前节写的Repository类只能存储一种类型,这一节考虑写成模版类,同时修改TakeData()接口,可以设置超时时间。
具体代码如下:

复制代码#ifndef REPOSITORY_H
#define REPOSITORY_H

#include <mutex>
#include <condition_variable>
#include <atomic>
#include <QQueue>
#include <QDebug>

template<typename T>
class Repository
{

public:
Repository()
{
m_queue_max_length = 100;
m_bStop = false;
}

void AddData(const T &data)
{
std::unique_lock<std::mutex> lock( ..

阅读全文»分类:默认分类|回复:0|浏览:637
2017-07-11 23:39

前言
        上一节实现了一个单生产者单消费者模式功能,现在再如何实现一个多生产者多消费者的模式。
设计思路
        多生产者多消费者跟单个消费者生产者比较起来,只是多个几个线程去生产数据,去获取数据,
那我只需要保证多个线程“存入数据”是线程安全的,多个线程“读取数据”是线程安全的就可以了。
下面就需要去写测试代码验证下师傅满足这些要求。
代码分析
        首先查看下获取数据函数是 ..

阅读全文»分类:默认分类|回复:0|浏览:756

Powered by phpwind v8.7 Certificate Copyright Time now is:04-19 09:13
©2005-2016 QTCN开发网 版权所有 Gzip disabled