消息队列是进程间通信的一种方法,他有两个操作,一个进程来发送消息(也就是向内存中写入数据),另一个是获取消息(也就是另外一个进程在内存中读取数据)
下面来看消息队列的
创建,写入,读取等需要用到的函数
创建:msgget((key_t) key,int msgflg) 其中(key_t)key的话,我在管道,共享内存中都写过,key值没什么要求,大于零的32位整数就行,并且它是用来区分和别的消息队列的,所以key值别和其他消息队列重复就行
msgflg是个标志位,一般取IPC_CREAT :
如果消息队列对象不存在,则创建之,否则则进行打开操作;下面附上帮助手册


写入数据(发送消息):int msgsnd ( int msqid, struct msgbuf *msgp, int msgsz, int msgflg )

本文详细介绍了Linux系统中进程间通信的实现方式——消息队列,包括创建、写入和读取消息队列的函数用法,以及消息队列的关键参数解析。通过代码示例展示了如何发送和接收不同类型的消息,强调了消息类型的匹配对于正确通信的重要性,并提出了一种在读取端允许接收所有类型消息的策略。最后,讨论了如何使用msgctl删除消息队列。
最低0.47元/天 解锁文章
925

被折叠的 条评论
为什么被折叠?



