管道(Pipes)和消息队列(Message Queues)之间的区别有哪些?
请从VxWorks和Unix两个角度加以解释。
我认为管道是单向的,而消息队列不是。
但是,管道内部使用消息队列,为什么管道是单向的,而消息队列不是?
您还能想到其他方面的差异吗(例如设计、用法或其他方面)?
管道(Pipes)和消息队列(Message Queues)之间的区别有哪些?
请从VxWorks和Unix两个角度加以解释。
我认为管道是单向的,而消息队列不是。
但是,管道内部使用消息队列,为什么管道是单向的,而消息队列不是?
您还能想到其他方面的差异吗(例如设计、用法或其他方面)?
消息队列:
管道:
以上是我现在能想到的内容。
消息队列和管道的比较: - 一个消息队列可用于双向传递数据 - 消息不需要按先进先出顺序读取,而可以进行选择性处理 来源:见http://www.cs.vsb.cz/grygarek/dosys/IPC.txt
管道:消息队列:类似于管道的匿名数据流,但是以数据包的形式存储和检索信息。
我还在这里找到了这个问题:管道 vs 消息队列。管道:通过标准输入和输出接口的双向数据流,逐个字符读取。
MQ具有内核持久性,并且可以被多个进程打开。