首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个进程如何知道另一个进程创建的队列的消息队列描述符?

一个进程如何知道另一个进程创建的队列的消息队列描述符?
EN

Stack Overflow用户
提问于 2014-11-16 21:57:47
回答 1查看 403关注 0票数 0

POSIX消息队列可以由mq_open()创建,它返回mqd_t形式的消息队列描述符。如果其他进程必须通过mq_notify()或mq_receive()接收消息,它需要消息队列描述符作为参数。

有没有办法使用队列名称来获取消息队列描述符?

如果不是,那么在开始使用消息队列之前,如何将消息队列描述符传递给另一个进程?

EN

回答 1

Stack Overflow用户

发布于 2014-11-17 14:48:18

代码语言:javascript
运行
复制
 mqd_t mq_open(const char *name, int oflag);

消息队列由两个进程通过"name“标识,即调用mq_open中的第一个参数。

打算共享消息队列的两个进程必须事先知道要共享的队列的名称。

如果您使用

代码语言:javascript
运行
复制
int msgget(key_t key, int msgflg);               

key :用户自定义的值。

此处的"key“值标识跨多个进程的消息队列。

总结一下:

如果两个进程需要共享一个消息队列,它们需要知道"name“(在

mq_open)和“key”(如果是msgget)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26957746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档