Mam aplikację C++, która składa się z niezarządzanego C++, zarządzanego C++ i C#. W części niezarządzanej próbuję utworzyć bezpieczną kolekcję wątków przy użyciu std :: mutex.Jak zaimplementować niezarządzaną kolekcję bezpieczną dla wątków, gdy pojawia się ten błąd: <mutex> nie jest obsługiwany podczas kompilacji z/clr
Jednak gdy używam muteksa, otrzymuję następujący błąd;
error C1189: #error : <mutex> is not supported when compiling with /clr or /clr:pure.
Jakiś pomysł, dlaczego nie mogę użyć muteksu? Czy ktoś może zarekomendować zamiennik, aby móc utworzyć bezpieczną dla wątków kolekcję niezarządzaną?
Dlaczego nie używasz 'Monitor', który jest właściwie zarządzanym odpowiednikiem' mutex'? – svick
Ale czy mogę go używać w niezarządzanym kodzie? –
Twoim najlepszym rozwiązaniem jest prawdopodobnie wyłączenie obsługi CLR (http://stackoverflow.com/questions/808250/vc2008-how-to-turn-clr-flag-off-for-individual-files-in-c- cli-project) dla pojedynczej jednostki kompilacji (plik cpp). –