关于三缓存机制的使用
来源:互联网 发布:淘宝客贷款申请条件 编辑:程序博客网 时间:2024/05/29 04:43
最近在做图像采集——》然后进入算法——》接着再显示到屏幕,这样就出现了问题,硬件不断的采集图像上传上来,然而算法的速度不够快,就出现 了问题。
如果只开辟一个内存来读取写入,那么,就只能给上锁,这样会降低效率。出现卡顿的情况
,还有一种问题就是采集慢,算法快也会出现卡顿。
所以就写了一个三缓存机制来应对。
triplebuf.h文件,也是核心文件是一个类模板
QQ:609162385获取源码。。或者在csdn资源中搜索“三缓存机制”下载资源
然后定义一个test.h的类来测试
#ifndef TEST_H#define TEST_H#include <QObject>#include "triplebuff.h"struct FrameStruc{ int fd_raw;};class test: public QObject{public: test(); ~test(); void add_foo();private: FrameStruc m_struct_frame[3]; // 三缓存区 SciPack::TripleTpl<FrameStruc*> m_triple_obj; // 三缓存对象};#endif // TEST_Htest.cpp
#include "test.h"#include <thread>#include <iostream>#include <cassert>#include <atomic>#include <vector>#include <unistd.h>#include <QThread>#include <sstream>#include <QDebug>void test::add_foo(){ FrameStruc s; s.fd_raw = 4; FrameStruc* struc = ((&m_triple_obj)->readValue( ));//读取 qDebug()<<struc->fd_raw;//打印 (&m_triple_obj)->swap();//交换 struc = ((&m_triple_obj)->readValue( ));//读取 qDebug()<<struc->fd_raw;//打印 (&m_triple_obj)->swap();//交换 struc = ((&m_triple_obj)->readValue( ));//读取 qDebug()<<struc->fd_raw;//打印 (&m_triple_obj)->writeValue(&s);//写入 (&m_triple_obj)->swap();//交换 struc = ((&m_triple_obj)->readValue( ));//读取 qDebug()<<struc->fd_raw;//打印 (&m_triple_obj)->swap();//交换 struc = ((&m_triple_obj)->readValue( ));//读取 qDebug()<<struc->fd_raw;//打印}test::test(): m_triple_obj( & m_struct_frame[0], & m_struct_frame[1], & m_struct_frame[2] ){ m_struct_frame[0].fd_raw = 1; m_struct_frame[1].fd_raw = 2; m_struct_frame[2].fd_raw = 3; add_foo();}test::~test(){}main.cpp
#include <QApplication>#include "test.h"int main(int argc, char *argv[]){ QApplication a(argc, argv); test sl; return a.exec();}
程序运行结果:
阅读全文
0 0
- 关于三缓存机制的使用
- 关于Hibernate缓存机制的使用
- 关于MyBatis的缓存机制
- jpa hibernate的三种缓存机制
- Mybaitis的缓存机制(三)
- 关于hibernate的三级缓存机制
- 关于缓存机制的一些体会
- 关于Hibernate的缓存机制 总结
- 关于linux下的缓存机制
- 关于Alamofire缓存机制的分享
- 关于Fresco的三级缓存机制
- iOS关于SDWebImage的缓存机制
- 关于php缓存机制应用的思考
- 关于yii缓存机制,片段缓存,页面缓存,数据缓存,动态缓存的设置过程
- Android中关于Volley的使用(八)缓存机制的深入认识
- Android中关于Volley的使用(八)缓存机制的深入认识
- Android中关于Volley的使用(八)缓存机制的深入认识
- Android中关于Volley的使用(五)缓存机制的深入认识
- Python 文件I/O和File方法
- 当数组遇到mybatis in 的时候
- jQuery源码分析(版本1.6.1)
- nigx.conf
- 7个有益的编程习惯
- 关于三缓存机制的使用
- Java Regular (二) 去 掉 排 除 词
- java socket写一个小型聊天室
- c++ float 转换到string
- Java中的基本类型和引用类型变量的区别
- redis 安装 centos 并设置开机启动,网上的很多教程不全
- ionic之$ionicGesture手势(大坑)
- Java 实现对mongodb and or 和and or联合查询操作
- HTML Help Workshop制作chm帮助文件和在应用程序中的调用