Могут ли две программы десериализовать файл и совместно использовать память с помощью mmap?C++

Программы на C++. Форум разработчиков
Anonymous
Могут ли две программы десериализовать файл и совместно использовать память с помощью mmap?

Сообщение Anonymous »

У меня есть файл размером 1 ГБ, доступный только для чтения и содержащий сериализованные данные. У меня есть два повторяющихся процесса, которые хотят десериализовать файл в объекты C++ и использовать их в моей программе. Кажется, что с помощью mmap я могу сопоставить файл и предотвратить дублирование использования памяти при загрузке сериализованного файла в память. Есть ли способ, которым процесс 1 может десериализовать файл, создавая объекты в памяти, а затем процесс 2 повторно использовать десериализованные объекты? Поэтому память выделяется только один раз, а не дважды.
Я пробовал использовать mmap, а затем десериализовать, но кажется, что он дублирует память, поскольку десериализация выделяет память для создания десериализованных объектов.

Подробнее здесь: https://stackoverflow.com/questions/791 ... using-mmap

Вернуться в «C++»