Web Analytics
yangyang

码农兼一个普普通通小青年

SPSC


使用内存映射文件实现进程间通讯

在前文浅谈内存映射文件中详细介绍了什么是内存映射文件(Memory-Mapped File, MMF),以及内存映射文件的用法。在其诸多应用中,很重要的一个就是进程间通讯(Inter-Process Communication,IPC)。内存映射文件允许将文件内容直接映射到进程的虚拟地址空间,使得应用程序能够像访问内存一样访问文件数据。但要正确和高效地使用内存映射文件进行进程间通讯则需要一些技巧,它需要处理多个进程对同一块内存区域进行高效的读写问题,这里就自然涉及到竞争和同步。本文首先介绍了一个简单的一对一的使用MMF进行进程间单向通讯的例子,紧接着指出其中的低效,然后通过引入环形队列数据结构来分隔读和写,从而达到移除锁的使用,进而大幅提高效率。最后在此基础上介绍了一对一双向通讯,以及一对多通讯的实现思路。 …

IPC Circular Queue MMF SPSC SPMC

  • 1