初识共享内存
1、共享内存及其特点
共享内存(Shared Memory)是一种 高效的进程间通信(IPC)机制,允许多个进程直接访问同一块物理内存区域。其特点包括:
高速:绕过内核协议栈,直接操作内存;
灵活:适用于大数据量传输或频繁通信场景;
风险:需手动管理同步和生命周期,易引发竞态条件(Race Condition)。
2、核心实现步骤
- 创建共享内存段
- 映射内存到进程地址空间
- 读写共享内存
- 同步与保护
- 释放资源
3、关键注意事项
- 命名空间与权限(Windows)
---使用\\Global前缀表示全局命名空间,需管理员权限
---键名长度限制(通常260字符)
- 内存对齐
---结构体对齐,不同编译器对结构体自动进行字节对齐,通过#pragma pack(1)统一约束通信进程间的直接对齐
- 同步机制
---必须显式加锁:共享内存无内置同步,需通过互斥体、信号量等机制保护
---死锁风险:确保加锁和解锁成对出现,避免嵌套锁
- 错误处理
---错误处理,Windows下采用GetLastError()获取错误码进行问题跟踪
注:以上参考Hunyuan深度思考模型进行学习整理,物理内存是设备独有的,不同物理设备间共享内存无法实现通信,可通过网络通信、分布式缓存等实现不同设备间的通信。
记性太差,需要这么记下来

浙公网安备 33010602011771号