所以在c ++中,我有一个父进程,它分叉了N个子进程。父节点及其所有子节点都可以访问消息队列,我希望父节点能够持续“监视”消息队列,并在每次来自子进程的新消息出现在消息中时执行msgrcv()
队列。我该怎么做呢?我已经阅读了消息队列数据结构中的msg_qnum
变量,但我不确定如何使用它。
提前感谢任何想法。
答案 0 :(得分:2)
通常的方法是在循环中调用msvrcv
。 msgrcv
调用将阻止,直到收到消息,此时该过程将继续。处理完消息后,它会循环回msgrcv
调用,该调用会阻塞,直到收到下一条消息。