IPC——消息队列

消息队列的基本概念

       Unix早期通信机制之一的信号机制能够传送的信号量有限,管道则只能传送无格式的字符流,这无疑会给应用程序开发带来不便,而消息队列则克服了这些缺点。

       消息队列就是一个消息的链表,可以把消息看成一个记录,具有特定的格式。进程可以向队列中按照一定的规则添加新消息;另一些进程则可以从消息队列中读取消息。

       目前主要有两类消息队列:

       一.POSIX消息队列

       二.System V消息队列

System V消息队列目前被大量使用,System V消息队列是随着内核持续的,只有在内核重启,或者人工删除时,该消息队列才会被删除。

消息队列的内核持续性要求每个消息队列都在系统范围内对应唯一的键值,所以要获得一个消息队列的描述字,必须提供该消息队列的键值。

获取键值:

#include <sys/types.h>

#include <sys/ipc.h>

key_t ftok(char * pathname, char proj)

功能:返回文件名对应的键值。

pathname:文件名

proj:项目名(不为零即可)

 

创建消息

 

传递消息

 

接收消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值