Информация об изменениях

Сообщение CRITICAL_SECTION вместе с Shared Memory от 20.10.2016 10:56

Изменено 20.10.2016 11:10 AlexGin

Доброе время суток, уважаемые коллеги!

При разработке нашего проекта, возникла необходимость работать с большим объемом памяти.
Для этого — я применил Shared Memory (через вызовы API CreateFileMapping, MapViewOfFile и т.д.).
Это всё отлично работает при однопоточном варианте.

Однако, при многопоточном, когда переключение страниц через вызов MapViewOfFile происходит из разных (рабочих) потоков — имеют место проблемы.
Приложение зависает, в некоторый момент при обработке информации.
Причине проблем — мне пока не понятна.
Возможно проблемы из-за того, что действия с Shared Memory у меня защищены (для многопоточного режима) объетами типа CRITICAL_SECTION?

Например здесь:
http://www.cyberforum.ru/win-api/thread404316.html
вообще не советуют работать с Shared Memory в рабочих потоках

...само проецирование на физ-память из страничного файла и прекращение проецирования в потоках лучше не далать.

не знаю, с чем это связано и есть ли тут какие-либо ограничения.
Какие здесь могут быть мысли на этот счёт?

P.S. Заранее благодарю за любые ответы!
Доброе время суток, уважаемые коллеги!

При разработке нашего проекта, возникла необходимость работать с большим объемом памяти.
Для этого — я применил Shared Memory (через вызовы API CreateFileMapping, MapViewOfFile и т.д.).
Это всё отлично работает при однопоточном варианте.

Однако, при многопоточном, когда переключение страниц через вызов MapViewOfFile происходит из разных (рабочих) потоков — имеют место проблемы.
Приложение зависает, в некоторый момент при обработке информации. Выявить более подробно — ни отладчиком, ни логированием — не удаётся.
Причине проблем — мне пока не понятна.
Возможно проблемы из-за того, что действия с Shared Memory у меня защищены (для многопоточного режима) объетами типа CRITICAL_SECTION?

Например здесь:
http://www.cyberforum.ru/win-api/thread404316.html
вообще не советуют работать с Shared Memory в рабочих потоках

...само проецирование на физ-память из страничного файла и прекращение проецирования в потоках лучше не далать.

не знаю, с чем это связано и есть ли тут какие-либо ограничения.
Какие здесь могут быть мысли на этот счёт?

P.S. Заранее благодарю за любые ответы!