浅学进程间通信3(消息队列)

消息队列

Linux操作系统内核维护消息队列,应用层调用系统调用即可使用

System V 消息队列 API

c 复制代码
#include <sys/types.h> 
#include <sys/ipc.h> 
#include <sys/msg.h> 

创建消息队列 
key:唯一标识新创建的消息队列 
msgflg: 一些标志信息 
    IPC_CREAT:根据key判断对应的共享内存段是否存在,如果不存在则创建,如果存在则返回已经存在的共享内存段 
    IPC_EXCL: 和IPC_CREAT一起用,如果已经存在key对应的共享内存则失败 
int msgget(key_t key, int msgflg)

发送消息 
msqid: 消息队列标识ID 
msgp: 要发送的数据 
msgsz:发送消息的大小 
msgflg: IPC_NOWAIT(异步发消息) 
int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg)

接收消息 
msqid: 消息队列标识ID 
msgp:要接收的数据 
msgsz:接收消息的大小
msgtype:等于 0, 那么读取消息队列中的第一条消息.
         大于 0, 那么读取消息队列中的第 msgtype 条消息 
         小于 0, 那么读取小于等于msgtype绝对值最小的 msgtype 的消息
msgflg: IPC_NOWAIT(异步收消息) 
ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtype, int msgflg)
相关推荐
人间乄惊鸿客1 天前
Linux所遇问题自记录
linux
AOwhisky1 天前
MySQL 学习笔记(第四期):SQL 语言之多表查询
linux·运维·网络·数据库·笔记·学习·mysql
Phantom Void1 天前
服务器处理客户端请求的设计方法
linux·运维·网络
一段路1 天前
【虚拟机】Linux常用命令
linux·vim
daad7771 天前
继续记录无人机SITL的起飞
linux
剑神一笑1 天前
Linux ls 命令深度解析:从目录遍历到颜色输出的实现原理
linux·服务器·数据库
三千里1 天前
ZSH的简单配置
linux·zsh·terminal
提伯斯6461 天前
解决Fast-Drone-250编译相关错误
linux·ros·无人机·fast-drone
liulilittle1 天前
过冲:拥塞控制的呼吸与盲行
linux·网络·c++·tcp/ip·计算机网络·tcp·通信
无足鸟ICT1 天前
【RHCA+】三种工作模式
linux