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

原文链接:https://blog.csdn.net/Your__Highness/article/details/89420084

1. 普通数据交换机制

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

DSP Ping-pong工作模式_aoxiang_ywj的博客-CSDN博客_pingpong模式 - 图1

2. pingpong 数据交换模式

pingpong 机制是一种数据交换机制,我们可以不去等待接受模块(下级)处理结束,而是发送模块(上级)继续执行并将结果保存在 ping 路的缓存中,上级继续执行到一定时刻,下级模块处理完成将结果保存在 pong 路中),这样可以下级模块无需等待继续执行,上级也无需等待继续执行,转而将结果存储在 ping 路。这样便提高了处理效率。
DSP Ping-pong工作模式_aoxiang_ywj的博客-CSDN博客_pingpong模式 - 图2
https://blog.csdn.net/baidu_37973494/article/details/100356104?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-100356104-blog-89420084.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-100356104-blog-89420084.pc_relevant_default&utm_relevant_index=2