Я играл с очередями сообщений (System V, но POSIX тоже должен быть в порядке) в Linux недавно, и они кажутся идеальными для моего приложения, но после прочтения программы программирования Unix я не уверен, действительно ли они хороший выбор.
http://www.faqs.org/docs/artu/ch07s02.html#id2922148
Верхний слой передачи сообщений System V IPC в значительной степени не используется. Нижний уровень, состоящий из разделяемой памяти и семафоров, по-прежнему имеет значительные приложения в ситуациях, когда необходимо выполнить блокировку взаимного исключения и некоторый общий обмен данными между процессами, запущенными на одном компьютере. Эти средства общей памяти System V превратились в API общей общей памяти POSIX, поддерживаемый в Linux, BSD, MacOS X и Windows, но не в классическом MacOS.
http://www.faqs.org/docs/artu/ch07s03.html#id2923376
Объекты System V IPC присутствуют в Linux и других современных Unix. Однако, поскольку они являются унаследованной функцией, они не выполняются очень часто. По всей видимости, версия Linux по состоянию на середину 2003 года имеет ошибки. Кажется, что никто не заботится о том, чтобы исправить их.
Неужели очереди сообщений System V по-прежнему не работают в более поздних версиях Linux? Я не уверен, что автор означает, что очереди сообщений POSIX должны быть в порядке?
Кажется, что сокеты являются предпочтительным IPC почти для любого (?), но я не вижу, как было бы очень просто реализовать очереди сообщений с сокетами или чем-то еще. Или я слишком много думаю?
Я не знаю, связано ли это с тем, что я работаю со встроенным Linux?