【发布时间】:2013-04-04 21:21:00
【问题描述】:
我有一个 C++ 应用程序,它由非托管 C++、托管 C++ 和 c# 组成。在非托管部分,我尝试使用 std::mutex 创建线程安全集合。
但是,当我使用互斥体时,出现以下错误;
error C1189: #error :
在使用 /clr 或 /clr:pure 编译时不受支持。
知道为什么我不能使用互斥锁吗? 有人可以推荐一个替代品,以便我可以创建一个线程安全的非托管集合吗?
【问题讨论】:
-
为什么不使用
Monitor,它几乎是mutex的托管等效项? -
但我可以在非托管代码中使用它吗?
-
对于单个编译单元(cpp 文件),您最好的选择可能是 turn off CLR support。
-
许多类似的问题可以按照这篇博文中的步骤解决:blogs.msdn.com/b/nativeconcurrency/archive/2012/01/05/…
标签: c++ multithreading thread-safety c++-cli mutex