Ping-pong实质是一种数据缓冲的手段(是一种数据传输技术),能够同时利用两个数据缓冲区达到数据连续传输的目的,从而提高数据传输速率。由于单个缓冲区得到的数据在传输和处理中很容易被覆盖,而Ping-pong 缓冲区的方式能够总是保持一个缓冲区的数据被利用,另一个缓冲去用于存储数据。即两个相同的对象作为缓冲区交替地被读和被写。

普通数据交换机制

项目中两个模块间交换数据时,第一个模块(上级)向另一个模块发送数据,接受模块(下级)不能马上处理完成并返回,这样上级必须等待下级处理完成才可以送新的数据,这样就会对性能产生很大的损失。


pingpong数据交换机制

pingpong机制是一种数据交换机制,我们可以不去等待接受模块(下级)处理结束,而是发送模块(上级)继续执行并将结果保存在ping路的缓存中,上级继续执行到一定时刻,下级模块处理完成将结果保存在pong路中),这样可以下级模块无需等待继续执行,上级也无需等待继续执行,转而将结果存储在ping路。这样便提高了处理效率。

Linux:pingpong机制的理解相关推荐

  1. pingpong机制的理解

    pingpong机制的理解 普通数据交换机制 pingpong数据交换机制 普通数据交换机制 项目中两个模块间交换数据时,第一个模块(上级)向另一个模块发送数据,接受模块(下级)不能马上处理完成并返回 ...

  2. linux poll 作用,Linux中poll机制的理解

    首先分析下应用程序的执行过程: int main(int argc, char **argv) { int fd; unsigned char key_val; int ret; struct pol ...

  3. Linux cgroup机制分析之cpuset subsystem

    ------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ -------- ...

  4. linux通信机制总结

    目录 1. Linux通信机制分类简介 2. Inter-Process Communication (IPC) mechanisms: 进程间通信机制0x1: 信号量(Signals)0x2: 管道 ...

  5. 【嵌入式Linux学习七步曲之第五篇 Linux内核及驱动编程】Linux信号机制分析

    Linux信号机制分析 Sailor_forever  sailing_9806@163.com 转载请注明 http://blog.csdn.net/sailor_8318/archive/2008 ...

  6. linux 互斥机制

    linux 互斥机制 之前一直不能理解各种互斥机制的优劣,完整的看了<Linux设备驱动开发详解:基于最新的Linux4.0内核>这书第7章后,才彻底的搞懂了 linux 系统中的互斥机制 ...

  7. Linux内存机制浅见——从内存布局到线程局部存储TLS

    先记 最近在重新分析SGX的源码<再回顾sgx_create_enclave>,一路发现,我还需要重新思考ELF文件格式(我在<SGX初始化中ElfParser::run_parse ...

  8. 【Linux内核及驱动编程】Linux信号机制分析

    Linux信号机制分析 Sailor_forever sailing_9806@163.com转载请注明 http://blog.csdn.net/sailor_8318/archive/2008/0 ...

  9. Java内存溢出故障案例及Linux内存机制探究

    文章目录 Java内存溢出故障案例及Linux内存机制探究 OOM Killer触发机制分析 如何避免系统触发OOM Killer 这部分内容属于demo案例分享,解决线上运维问题,思路是最重要的 J ...

最新文章

  1. MongoDB主从复制介绍(转)
  2. Go -- 多个go文件包名都是main
  3. 04.Java网络编程(转载)
  4. map分组后取前10个_java中list里面存放map,根据map中的某两个个字段进行排序
  5. html静态页面跳转传值,在静态页面html中跳转传值
  6. 关于IT结合测试,事前DB与事后DB的问题(之一:如何能更好的看出更新效果)。
  7. 浏览器最小显示12px字体的解决方法
  8. 平面直角坐标系中的旋转公式_【初中数学大招流】从平面几何到解析几何
  9. 基础物理-物质的组成
  10. word中批量修改图片大小的两个方法
  11. arm云服务器虚拟安卓,ARM搭建云手机
  12. 商业智能,数据仓库,ETL,数仓调度工具informatica介绍手账(二)
  13. 简单的KTV点歌系统
  14. python语言发展历史
  15. 百度地图批量精度和维度Java,关于百度地图API批量转换成坐标的方法
  16. U盘启动晨枫U盘维护工具V2.0版
  17. 总问南京配眼镜哪里性价比高,不妨看南京眼镜店推荐榜单
  18. Witt向量简介 §4.1:关于组合数是整数的一种严格证明
  19. aide打开html文件,AIDE Web(网页编辑器)
  20. 程序员面试宝典(第4版)

热门文章

  1. 使用javascript生成Excel表格(内含实例demo),可下载xlsx.core.min.js、excel.js包
  2. php 判断下载状态,关于php:如何检测文件的下载是否已经完成?
  3. Python学习日记 Day1
  4. LED有哪些优点,LED驱动电源方案
  5. 利用手动Ghost工具手动安装系统(U盘)
  6. NLP实践九:HAN原理与文本分类实践
  7. BP神经网络基本介绍
  8. C语言版动态通讯录(增、删、改、查(查重)、去重、排序、导出)
  9. python蓝牙编程代码_以编程方式通过python将蓝牙设备绑定到rfcomm
  10. CCF201709-2 公共钥匙盒(JAVA)