我正在写一个应用程序,有一个消息队列和两个进程收听。我怎样才能防止别人先读它呢?
场景如下:有一个服务器应用程序读取队列并将消息发送到其他队列。(一个服务器和多个具有不同消息队列的客户端)
但是客户端和服务器之间的消息是来自同一个队列的;我不能保证服务器在客户端线程(读取传入)之前接收消息。
你能帮我实现吗?
我想我找到解决办法了。我的错误是没有正确阅读手册。
ssize_t msgrcv(int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg);
参数4用于此。如果我为客户端设置消息标志,它将足以处理!