共享内存
概述
共享内存是指在多处理器的计算机系统中,能够被不同的CPU访问的内存。
应用
共享内存主要应用进程间通信,允许多个进程访问同一块内存。
特点
1、共享内存是进程间通信最快一种的方式。一个进程在共享内存写入了数据,所有使用该共享内存的进程都能获取到这些数据。
2、共享内存的使用应当是互斥的。如进程A写内存的时候,进程B就不应当读内存等。
共享内存相关函数操作原型
1、共享内存的创建函数原型:
HANDLE CreateFileMapping(
HANDLE hFile, //物理文件句柄
LPSECURITY_ATTRIBUTES lpAttributes, //安全设置
DWORD flProtect, //文件数据访问方式
DWORD dwMaximumSizeHigh, //高位文件大小
DWORD dwMaximumSizeLow, //低位文件大小
LPCTSTR lpName //共享内存名称
);
2、共享内存的内存映射函数原型:
LPVOID MapViewOfFile(
HANDLE hFileMappingObject, //已创建共享内存的句柄
DWORD dwDesiredAccess, //文件数据的访问方式