如何持续监视消息队列
How to continuously monitor a message queue?
所以在c++中,我有一个父进程,它派生了N个子进程。父进程及其所有子进程都可以访问消息队列,我希望父进程持续地"监视"消息队列,并在每次来自子进程的新消息出现在消息队列中时执行msgrcv()
。我该怎么做呢?我读过关于消息队列数据结构中的msg_qnum
变量,但不确定如何使用它。
提前感谢您的建议
通常的方法是在循环中调用msvrcv
。msgrcv
调用将阻塞,直到收到消息,此时进程将继续。处理完消息后,它循环回msgrcv
调用,直到接收到下一个消息。
相关文章:
- boost::进程间消息队列引发错误
- 避免使用 boost::进程间::消息队列创建文件
- 提升消息队列 跨两个进程未接收
- 可以将Boost消息队列文件重定向到用户指定的位置
- 使用加速进程间创建消息队列 - 内存访问冲突
- 如何检查提升消息队列是否存在
- Win32 消息队列在使用 OpenGL 渲染时被淹没
- 在尝试使用boost时断言.跨很多过程中的互动消息队列
- GetMessage/PeekMessage - 删除消息队列中的所有消息
- IPC Unix 消息队列线程安全吗?
- NS2:AODV路由消息停留在队列中
- 在.c文件接收函数中使用Linux中的MSGGET创建消息队列未实现错误
- boost消息队列线程安全和进程安全吗?
- 如何处理多个源队列消息类型
- 为什么我的无锁消息队列段错误:(?
- 在控制台应用程序中处理空的windows消息队列
- 关于在这种情况下消息队列与共享内存的适用性或适用性
- boost::进程间消息队列创建时的竞争条件
- 从内存转储中查找线程消息队列中的消息
- win32消息泵,do dispatchMessage()处理整个消息队列或仅仅是顶部消息