Потокобезопасная управляемая оболочка для класса C ++ - PullRequest
0 голосов
/ 04 января 2012

Мне нужно работать с сторонней DLL C ++ с интерфейсом, который представляет собой единую функцию:

CObject * getInstance ();

т.е. он выделяет экземпляр CObject (C ++class) и возвращает указатель на него.

Однако мне нужно сделать этот поток / процесс безопасным, так как getInstance () должен вызываться только один раз, а возвращаемый указатель доступен из нескольких управляемых процессов.

Итак, я собирался написать управляемую оболочку C ++ / CLI для собственной библиотеки DLL.Я могу синхронизировать доступ к вызову функции через мьютекс или семафор, но не уверен, как поделиться экземпляром CObject.Можно ли использовать для этого общую память?Как бы я это настроил?

...