C ++ / CLI中的CRITICAL_SECTION

时间:2013-06-05 07:52:53

标签: thread-safety c++-cli

在本机C ++中编码时,我经常使用CRITICAL_SECTION来创建线程安全的代码(或者至少我认为是线程安全的代码)。在C ++ / CLI中,我猜也可以使用CRITICAL_SECTION?这样做是明智的吗?如果没有,为什么?什么是替代品?

1 个答案:

答案 0 :(得分:2)

由于有些使用非托管线程ID的警告,因为某些实现(如IIRC,SQL Server)将这些东西实现为在不同线程上运行的光纤,我也避免使用非托管的关键部分。

。我见过的.Net代码通常使用System::Threading::Monitor::Enter()Monitor::Exit()作为其关键部分(方便地用C#中的lock关键字包装)。否则,您也可以使用托管互斥锁。