我最近在Linux中一直在使用消息队列(系统V,但是POSIX也可以),它们对于我的应用程序似乎很完美,但是在阅读了《 Unix编程的艺术》之后,我不确定它们是否真的是一个不错的选择。

http://www.faqs.org/docs/artu/ch07s02.html#id2922148



http://www.faqs.org/docs/artu/ch07s03.html#id2923376



在最近的Linux版本中,System V消息队列是否仍然存在错误?我不确定作者是否认为POSIX消息队列应该正常吗?

似乎套接字是几乎所有对象(?)的首选IPC,但是我看不到用套接字或其他方法实现消息队列将是多么简单。还是我想得太复杂了?

我不知道与嵌入式Linux合作是否有意义?

最佳答案

我个人非常喜欢消息队列,并认为它们可以说是unix世界中使用率最低的IPC。它们快速且易于使用。

一些想法:

  • 其中有些只是时尚。旧事物再次变得新。在消息队列上添加一个 Shiny 的爸爸,它们可能是明年的最新和 HitTest 门的事情。使用单独的进程而不是其标签的线程来查看Google的Chrome。突然,人们为一个选项卡锁定而无法关闭整个浏览器而感到兴奋。
  • 共享内存具有类似He-man的光环。如果您没有挤掉机器的最后一个循环,并且MQ的效率略低,那么您不是一个“真正的”程序员。对于许多(即使不是大多数)应用程序来说,这完全是胡说八道,但有时一旦掌握就很难打破思维定势。
  • MQ确实不适用于具有无限制数据的应用程序。面向流的机制(例如管道或套接字)更容易使用。
  • System V变体的确不受欢迎。通常,请尽可能使用POSIX版本的IPC。
  • 07-28 11:33