Общая память и строки: удалось? - PullRequest
2 голосов
/ 17 января 2010

У меня проблема с boost::interprocess::string в разделяемой памяти.

Когда я использую shared_memory_object, я могу манипулировать структурой с разными полями, НО строками (у меня ошибка сегментации). С другой стороны, когда я использую managed_shared_memory все нормально.

Я что-то не так делаю? Вы знаете, есть ли снижение производительности при использовании managed_shared_memory?

Спасибо!

1 Ответ

1 голос
/ 27 декабря 2010

Об использовании строк в промежуточном процессе boost см. этот вопрос .

Что касается производительности, то она должна быть лучше, чем большинство других решений - именно поэтому она существует, - делиться памятью междупроцессы.Любой другой метод для обмена данными между процессами может иметь дополнительные издержки, которые не требуются для разделяемой памяти (заголовок пакета + ввод-вывод для TCP, циклы обмена БД для БД и т. Д.)

...