Полностью управляемый общий доступ memory.NET реализации? [закрытый]


Я ищу свободные, полностью управляемые реализации общей памяти для .NET (P / Invoke приемлемо, смешанный C++ / CLI-нет).

3 8

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.