为什么要有键值:
因为是进程间的通讯,所以必须有个公共的标识来确保使用同一个通讯通道(比如说这个通讯通道就是消息队列),然后再把这个标识与某个消息队列进行绑定,任何一个进程如果使用同一个标识,则内核就可以通过该标识找到对应的那个队列,这个标识就是键值。如果没有键值的话,进程A打开或者创建一个队列并返回这个队列的描述符,但其他进程不知道这个队列的描述符是多少,因此就不能通讯了。
最近在忙毕设,后面有时间把示意图放上来。