我应该在嵌入式Linux环境,System V消息队列或Posix消息队列中使用什么?什么在项目中普遍使用?
答案 0 :(得分:3)
两者都有相同的基本工具 - 信号量,共享内存和消息队列。它们为这些工具提供了略微不同的界面,但基本概念是相同的。一个值得注意的区别是POSIX为Sys V不提供的消息队列提供了一些通知功能。 (见mq_notify()。)
Sys V IPC已经存在了很长时间,具有一些实际意义。
POSIX消息队列与System V消息队列相比还具有以下特定优势:
当消息到达先前空的队列时,消息通知功能允许通过信号或线程实例化异步通知(单个)进程。
在Linux上(但不是其他UNIX实现),可以使用poll(),select()和epoll()监视POSIX消息队列。 System V消息队列不提供此功能。