POSIX 消息队列和 System V 消息队列怎么选:接口、行为差异、实测和代码示例
两种消息队列都由内核保存消息,每条都拷两次,实测收发耗时也接近。真正的差别在怎么命名、怎么等待、怎么挑消息、怎么清理。本文给出可运行的 C 示例、实测数据、优缺点和选型顺序。
[TAG] ALL TAGS
3 TAKES
两种消息队列都由内核保存消息,每条都拷两次,实测收发耗时也接近。真正的差别在怎么命名、怎么等待、怎么挑消息、怎么清理。本文给出可运行的 C 示例、实测数据、优缺点和选型顺序。
共享内存只解决了数据搬运,同步、通知、崩溃和校验都要自己做。本文从零设计一条跨进程 SPSC 环形队列:下标怎么走、内存序怎么选、futex 怎么防丢失唤醒、进程被杀后怎么办,并给出完整 C 代码和与互斥锁、管道的实测对比。
同一条消息走管道、消息队列、Unix 域 socket、本机 TCP、Binder 和共享内存,数据各被拷贝几次,实测差多少;各自的优缺点和使用场景;放到端侧 AI 上,模型权重、摄像头帧、推理结果和控制命令又该分别走哪条通道。