我最近一直在使用 Linux 中的消息队列(System v,但是 POSIX 也应该可以) ,它们似乎非常适合我的应用程序,但是在阅读了 Unix编程艺术之后,我不确定它们是否真的是一个好的选择。
Http://www.faqs.org/docs/artu/ch07s02.html#id2922148
System V IPC 的上层消息传递层在很大程度上已经不再使用了。下层由共享内存和信号量组成,在需要执行互斥锁和在同一台机器上运行的进程之间进行一些全局数据共享的情况下,仍然有重要的应用程序。这些 System V 共享内存设施演变为 POSIX 共享内存 API,在 Linux、 BSD、 MacOS X 和 Windows 下受到支持,但不是经典的 MacOS。
Http://www.faqs.org/docs/artu/ch07s03.html#id2923376
System V IPC 工具存在于 Linux 和其他现代 Unix 中。然而,由于它们是遗留的特性,因此并不经常使用。到2003年中期为止,Linux 版本仍然存在 bug。似乎没人愿意修理它们。
在最近的 Linux 版本中,System V 消息队列是否仍然存在 bug?我不确定作者是否意味着 POSIX 消息队列应该没问题?
似乎套接字是几乎任何事情(?)的首选 IPC,但是我看不出用套接字或其他东西实现消息队列如何非常简单。还是我想得太复杂了?
我不知道这是否与我正在使用嵌入式 Linux 有关?