Полностью управляемый общий доступ memory.NET реализации? [закрытый]
Я ищу свободные, полностью управляемые реализации общей памяти для .NET (P / Invoke приемлемо, смешанный C++ / CLI-нет).
3 ответа:
Звучит так, как будто вы ищете файлы с отображением памяти, которые поддерживаются в .NET 4.0 BCL.
Начиная с .NET Framework версии 4, Вы можете использовать управляемый код для доступа к файлам, сопоставленным с памятью, так же, как собственные функции Windows обращаются к файлам, сопоставленным с памятью, как описано в разделе Управление файлами, Сопоставленными с памятью в Win32 в библиотеке MSDN
Ну, платформа .NET framework бесплатна, рекомендуется. .Net версии 4.0 поддерживает систему.ИО.MemoryMappedFiles классы пространства имен. Общая память-это довольно резкое несоответствие импеданса понятию сборщика мусора, вот почему это заняло некоторое время. Если вы не используете указатели, копирование из кучи GC в представление MMF неизбежно.
Другие механизмы IPC также используют общую память, она просто не является явной, так как встроена в ядро. Все это происходит примерно с одинаковой скоростью, в микросекунду. чтобы настроить отображение, а затем просто пропускную способность шины, чтобы сделать копию памяти в память. Пять гигабайт в секунду-это самая медленная скорость, с которой вы столкнетесь.
Эта статья объясняет в разделе 3, как обернуть MapViewOfFile и friends с помощью P / Invoke.