【摘要】:消息队列,就是一个消息的链表,是一系列保存在内核中的消息的列表。表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函数
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。