MemoryMappedFile - что это?
Подскажите, что в итоге такое MemoryMappedFile ?
Я понял так, что это просто интерфейс, который позволяет получать доступ к файлу на HDD - похожим на функции управления памяти в Си - ну типа через указатели.
Так же, при упоминании MemoryMappedFile - говорят об удобстве межпроцессорного взаимодействия через этот общий файл. Меня, как раз интересует этот момент.
Правильно ли я понимаю, что взаимодействие двух приложений или двух процессов одного и того же приложения через этот MemoryMappedFile - все равно будет нагружать жесткий диск постоянным обращением к нему, к записи и чтению, что очень не любят HDD, да и SSD(при записи) - то есть идея настроить межпроцессорное взаимодействие через MemoryMappedFile - это все ровно плохая идея с точки зрения живучести жетского диска, а в случае с HDD - еще и медленное взаимодейтсвие за счет малой скорости HDD на чтение и запись ?
Или я все неправильно понял ?
Ответы (1 шт):
MMF вообще может быть не связан с реальным файлом на диске. Чисто виртуальный файл в оперативной памяти, доступный для разных процессов по указателю. В этом случае, когда процесс-создатель завершается, файл уничтожается. И в других процессах попытка обращения к нему вызовет исключение соотв типа. Очень интересная вещь для обмена информацией между процессами.