初识共享内存

1、共享内存及其特点

共享内存(Shared Memory)是一种 ​高效的进程间通信(IPC)机制,允许多个进程直接访问同一块物理内存区域。其特点包括:

​  高速:绕过内核协议栈,直接操作内存;

  ​灵活:适用于大数据量传输或频繁通信场景;

​  风险:需手动管理同步和生命周期,易引发竞态条件(Race Condition)。

2、核心实现步骤

  • 创建共享内存段
  • 映射内存到进程地址空间
  • 读写共享内存
  • 同步与保护
  • 释放资源

3、关键注意事项

  • 命名空间与权限(Windows)

  ---使用\\Global前缀表示全局命名空间,需管理员权限

  ---键名长度限制(通常260字符)

  • 内存对齐

  ---结构体对齐,不同编译器对结构体自动进行字节对齐,通过#pragma pack(1)统一约束通信进程间的直接对齐

  • 同步机制

  ---必须显式加锁:共享内存无内置同步,需通过互斥体、信号量等机制保护

  ---死锁风险:确保加锁和解锁成对出现,避免嵌套锁

  • 错误处理

  ---错误处理,Windows下采用GetLastError()获取错误码进行问题跟踪

 

注:以上参考Hunyuan深度思考模型进行学习整理,物理内存是设备独有的,不同物理设备间共享内存无法实现通信,可通过网络通信、分布式缓存等实现不同设备间的通信。

posted @ 2025-03-14 10:58  左边的翼  阅读(116)  评论(0)    收藏  举报