第十章 消息队列与共享内存.pptVIP

  • 5
  • 0
  • 约4.55千字
  • 约 30页
  • 2017-07-07 发布于湖北
  • 举报
消息队列和共享内存 消息队列是消息的链表,存放在内存中,由内核维护 ?消息队列的特点 1、消息队列中的消息是有类型的。 2、消息队列中的消息是有格式的。 3、消息队列可以实现消息的随机查询。消息不一定要以先进先出的次序读取,编程时可以按消息的类型读取。 4、消息队列允许一个或多个进程向它写入或者读取消息。 5、与无名管道、命名管道一样,从消息队列中读出消息,消息队列中对应的数据都会被删除。 6、每个消息队列都有消息队列标识符,消息队列的标识符在整个系统中是唯一的。 7、只有内核重启或人工删除消息队列时,该消息队列才会被删除。若不人工删除消息队列,消息队列会一直存在于系统中。 System V提供的IPC通信机制需要一个key值,通过key值就可在系统内获得一个唯一的消息队列标识符。 ?key值可以是人为指定的,也可以通过ftok函数获得。 #include sys/types.h #include sys/ipc.h key_t ftok(const char *pathname, int proj_id); 功能: 获得项目相关的唯一的IPC键值。 参数: pathname:路径名 proj_id:项目ID,非0整数(只有低8位有效) 返回值: 成功返回key值,失败返回-1。 创建消息队列: #include sys/msg.h int msgget(key_t key,

文档评论(0)

1亿VIP精品文档

相关文档