系统V消息队列

时间:2013-04-07 16:33:58

标签: multithreading message-queue

我正在编写一个应用程序,其中有一个消息队列和两个进程正在侦听它。如何防止其他人在其他人之前阅读?

情景是: 有一个服务器应用程序,它读取队列并将消息发送到其他队列。 (onc服务器和具有不同消息队列的多个客户端)

但客户端和服务器之间的消息来自同一队列;我不能保证服务器在客户端线程(读取incomings)之前接收消息。

你能帮我实现吗?

1 个答案:

答案 0 :(得分:1)

我想我找到了解决方案。我的错误是不能正确阅读手册。

ssize_t msgrcv(int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg);

参数4用于此目的。如果我为客户端设置了消息标志,它就足以处理了!