У меня есть два процесса P1 и P2.Два приложения на C++, разделяющие область памяти только для чтения на Linux
У меня есть этот большой ресурс только для чтения, называемый «R», который я хочу получить как P1, так и P2.
R - это не просто «плоская» группа байтов; это куча объектов C++, которые указывают друг на друга.
Я бы предпочел, чтобы P1 и P2 делились только одной копией R - как-то P1 загружали R в область памяти (то есть mmaped в P1 и P2 с тем же адресом), тогда P1 и P2 могут получить доступ к объекты в R как объекты C++ (без условий гонки, так как все доступно только для чтения).
Любое знакомое, как это сделать/gotchas?
См. Также: http://stackoverflow.com/questions/2080281/how-do-mmap-a-particular-region-in-memory. Ни в коем случае не прямой дубликат, а тесно связанный. –