当前位置: 技术问答>linux和unix
关于在UNIX中使用消息队列的一点疑问
来源: 互联网 发布时间:2015-09-15
本文导语: 在UNIX高级环境编程中,以下这句是“m s g g e t用于创建一个新队列或打开一个现存的队列。m s g s n d用于将新消息添加到队列尾端。每个消息包含一个正长整型类型字段,一个非负长度以及实际数据字节(对应...
在UNIX高级环境编程中,以下这句是“m s g g e t用于创建一个新队列或打开一个现存的队列。m s g s n d用于将新消息添加到队列尾端。每个消息包含一个正长整型类型字段,一个非负长度以及实际数据字节(对应于长度),所有这些都在将消息添加到队列时,传送给m s g s n d。m s g r c v用于从队列中取消息。”我想问一下,在《UNIX高级环境编程》这样描述到“I P C结构是在系统范围内起作用的,没有访问计数。”,既然这样,m s g r c v函数是如何确保它自己收到消息不重复或则有没有消息漏掉呢?还有就是小弟做了一个动态库,要嵌在别人的系统中,在库中需要创建4个消息队列,如何才能够确保不和别人消息队列重复呢?忘各位高人指点一下!
|
这个就有点看不懂了……
楼主应该知道消息队列使用的是链表来实现的吧?而且msgrcv函数有一个msqid的参数,这个标明了函数操作的是哪一个队列,这样的话还会重复或者漏掉吗?
楼主应该知道消息队列使用的是链表来实现的吧?而且msgrcv函数有一个msqid的参数,这个标明了函数操作的是哪一个队列,这样的话还会重复或者漏掉吗?