1. POSIX IPC 三件套,消息队列(mq)、信号量(sem)、共享内存(shm)
POSIX IPC 三件套(消息队列、信号量、共享内存)如何理解?
- POSIX IPC 类型
- 消息队列/信号量/共享内存
- 各自用途
POSIX IPC 三件套:消息队列(mq_open/mq_send/mq_receive)——按路径名标识的命名消息队列,进程间传消息(支持优先级),适合"消息传递"型通信;信号量(sem_open/sem_wait/sem_post)——命名信号量,进程间同步/互斥(控制共享资源访问),用于同步;共享内存(shm_open + mmap)——命名共享内存,进程间共享数据区,性能最高(直接读写共享内存),适合大数据量交换。三者组合:共享内存传数据 + 信号量同步 + 消息队列通知,是 POSIX IPC 的典型搭配。取舍:共享内存最快但需同步,消息队列有格式但慢,信号量用于同步。
三件套互补:共享内存做数据交换(快)、信号量做同步(协调)、消息队列做消息传递(结构化)。工程上常组合使用。