共享内存是进程间通信(Inter Process Communication)的最快方式。linux共享内存有两种方式:
第一种:mmap方式,适用场景:父子进程之间,创建的内存非常大时
第二种:shmget方式,适用场景:同一台电脑上不同进程之间,创建的内存相对较小时
两种方式的文档网上都有很多,随便一抓一把。
通病:共享内存没有自带的同步机制,需要借助其他方式来进行同步。
nginx使用了mmap方式,并且对windows和linux都做了共享内存简单封装,需要使用可以参照学习一下(linux:\src\os\unix\ngx_shmem.h和\src\os\unix\ngx_shmem.c windows:\src\os\win32\ngx_shmem.h和windows:\src\os\win32\ngx_shmem.c