我最近一直在 Linux 中使用消息队列(System V,但 POSIX 也应该没问题),它们似乎非常适合我的应用程序,但是在阅读了 The Art of Unix Programming 我不确定它们是否真的是一个不错的选择.
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 版本仍然存在缺陷。似乎没有人足够关心来修复它们。
System V 消息队列在最近的 Linux 版本中是否仍然存在错误?我不确定作者是否意味着 POSIX 消息队列应该没问题?
似乎套接字是几乎所有东西的首选 IPC(?),但我看不出用套接字或其他东西实现消息队列是多么简单。还是我想的太复杂了?
我不知道我使用嵌入式 Linux 是否相关?