c++*享内存原理及实现

共享内存 (也叫内存映射文件) 主要是通过映射机制实现的 , Windows 下进程的地址空间在逻辑上是相互隔离的 , 但在物理上却是重叠的 ; 所谓的重叠是指同一块内存区域可能被多个进程同时使用 ,

当调用 CreateFileMapping 创建命名的内存映射文件对象时 , Windows 即在物理内存申请一块指定大小的内存区域 , 返回文件映射对象的句柄 hMap ;

为了能够访问这块内存区域必须调用 MapViewOfFile 函数 , 促使 Windows 将此内存空间映射到进程的地址空间中 ;

当在其他进程访问这块内存区域时 , 则必须使用 OpenFileMapping 函数取得对象句柄 hMap , 并调用 MapViewOfFile 函数得到此内存空间的一个映射 , 这样系统就把同一块内存区域映射到了不同进程的地址空间中 , 从而达到共享内存的目的.

https://blog.csdn.net/tojohnonly/article/details/70246965

https://www.cnblogs.com/me115/archive/2013/01/07/2848567.html

https://www.jianshu.com/p/56efa9d1500a

booK

https://www.amazon.cn/dp/B00ETOV2OQ/ref=sr_1_fkmr2_1?__mk_zh_CN=%E4%BA%9A%E9%A9%AC%E9%80%8A%E7%BD%91%E7%AB%99&keywords=c%2B%2B+%E5%85%B1%E4%BA%AB%E5%86%85%E5%AD%98&qid=1564646975&s=books&sr=1-1-fkmr2

上一篇:sphinx分域搜索


下一篇:Windows下Apache服务器搭建