微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将一个消息队列用于多个进程?

如何解决如何将一个消息队列用于多个进程?

正如标题所述,我正在尝试在Linux(Ubuntu)中创建一个使用msgget函数进行通信的C ++程序。该程序使用fork()函数创建多个进程,我希望每个进程都能够通过消息队列相互通信。

我遇到的问题是,我不知道如何仅使用一个msgget传递消息,因此不必为每个进程创建一个具有不同密钥的消息。例如,有没有一种方法可以让我对消息队列使用具有特定ID的msgsnd,以便只有另一个在msgrcv中添加了此ID的进程才能接收此消息,而将其余消息留在消息队列中?

我设法在进程之间进行通信的唯一方法是使用不同的密钥为每个进程创建一个不同的msgget,但是我更愿意如果有一种方法可以仅使用一个msgget进行相同的操作。 / p>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。