首页 理论教育 设计一个程序,创建消息队列并实现消息的添加、读取和控制

设计一个程序,创建消息队列并实现消息的添加、读取和控制

时间:2023-11-16 理论教育 版权反馈
【摘要】:消息队列,就是一个消息的链表,是一系列保存在内核中的消息的列表。表9.16消息队列的常用函数例9.8设计一个程序,要求创建消息队列,将输入的文字添加到消息队列后,读取队列中的消息并输出。图9.9例9.8程序设计流程由此例可知,进程间通过消息队列通信,主要有创建或打开消息队列、添加消息、读取消息和控制消息队列这四种操作。

设计一个程序,创建消息队列并实现消息的添加、读取和控制

消息队列,就是一个消息的链表,是一系列保存在内核中的消息的列表。

消息队列的优势:能对每个消息指定特定消息类型,接收的时候不需要按队列次序,而是可以根据自定义条件接收特定类型的消息。

可以把消息看作一个记录,其具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以按照一定的规则添加新消息,对消息队列有读权限的进程则可以从消息队列中读取消息。

消息队列的常用函数如表9.16所示。

表9.16 消息队列的常用函数

例9.8 设计一个程序,要求创建消息队列,将输入的文字添加到消息队列后,读取队列中的消息并输出。

源程序代码:

程序结果:

创建、打开的队列号是:0

请输入要加入队列的消息:

ABC

请取得消息是:ABC

例9.8程序设计流程如图9.9所示。(www.xing528.com)

图9.9 例9.8程序设计流程

由此例可知,进程间通过消息队列通信,主要有创建或打开消息队列、添加消息、读取消息和控制消息队列这四种操作。

ftok函数说明如表9.17所示。

msgget函数说明如表9.18所示。

msgsnd函数说明如表9.19所示。

msgrcv函数说明如表9.20所示。

表9.17 ftok函数

表9.18 msgget函数

表9.19 msgsnd函数

表9.20 msgrcv函数

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈