Лучший способ для межпроцессного взаимодействия в C++

Не используйте какое-либо ключевое слово или аргумент в качестве ввода или скобки для вашей функции. Это очень простое решение:)

37
задан Qubeuc 16 December 2008 в 19:37
поделиться

4 ответа

Один Word: Повышение. InterProcess. Если это действительно должно быть быстро, общая память является способом пойти. У Вас почти есть нуль наверху, поскольку операционная система делает обычное отображение между виртуальными и физическими адресами, и никакая копия не требуется для данных. Вы просто имеете к наблюдению за проблемами параллелизма.

Для того, чтобы на самом деле отправить команды как завершение работы и запрос , я использовал бы очереди сообщений. Я ранее использовал localhost сетевое программирование, чтобы сделать это и использовал ручное выделение общей памяти, прежде чем я знал о повышении. Чертовски, если бы я должен был бы переписать приложение, я сразу выбрал бы повышение. Повышение. InterProcess делает это более легким для Вас. Проверьте его.

39
ответ дан Johannes Schaub - litb 10 October 2019 в 09:16
поделиться

Я использовал бы общую память, чтобы хранить данные и очереди сообщений для отправки запросов.

6
ответ дан Marc 10 October 2019 в 09:16
поделиться

Я буду предложение второго Marc - я не обеспокоился бы повышением, если Вы не имеете беспокойство мобильности или хотите сделать, интересный материал как контейнер стандарта карты заменяет общую память вводом с клавиатуры (в этом случае, я определенно использовал бы повышение).

Иначе, очереди сообщений и общая память довольно просты иметь дело с.

3
ответ дан 10 October 2019 в 09:16
поделиться

При использовании общей памяти, необходимо будет решить, вращаться ли или нет. Я ожидал бы, что при использовании семафора для синхронизации и хранящих данных в общей памяти Вы не получите много выигрыша в производительности по сравнению с использованием очередей сообщений (в значительной неисправности ясности), но если Вы вращаетесь на атомарной переменной для синхронизации, тогда необходимо ответить за последствия этого.

3
ответ дан Greg Rogers 10 October 2019 в 09:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: