一、相同点:
1:用于IPC(进程间通信):将数据从一个进程传输到另外一个进程。
2:都无法指定接收者。即消息只能给一个不确定的读者。
3:都是读取即删除(即用于读取系统调用必须同时有删除处理)
4:阻塞:读空阻塞和写满阻塞。
5:都没有广播机制。
二、区别:
1:管道内的数据被当做字节流,不知消息边界。
消息队列的数据以离散消息的形式进行传输。基于消息类型来选择接收。
2:消息队列有两次复制。传输少量数据时效率很高,传输大量数据时会开销很大。
三、发展趋势
1:现在的unix系统用streams取代消息队列。但streams没有基于消息类型来选择接收功能。