这可能是一个非常愚蠢的问题,但谷歌搜索并没有成功,所以这里。我正在编写一个程序,使用消息队列将一系列值发送到不同的进程。我做过研究,表明我使用msgsnd()在队列上存储消息,并使用msgrcv()来接收消息。我需要在队列中存储起始编号和结束编号。所以我的问题是我可以在这个队列中存储多个消息,如果是这样,我该如何存储它们并检索它们? TIA为您提供所有帮助。
答案 0 :(得分:0)
queue的概念意味着您可以放入(msgsnd
)内容,在队列中创建一条消息。要接收一条消息,您必须致电msgrcv
。每次接收通常只返回一条消息,因此如果您发送n
条消息,则必须收到n
条消息。
队列通常被视为FIFO(先进先出),因此第一个msgsnd
创建的消息将是msgrcv
返回的第一条消息。
如果您通过网络(和/或群集)发送消息队列,则这有点弱。由于网络延迟/故障转移/重试等消息可能会出现故障,因此通常建议在其中构建包含所有必要信息的消息,以便针对这些情况正确处理。