所以,当我使用" EnterCriticalSection" &安培; " LeaveCriticalSection"我向我抛出一个例外,这是我目前的设置:
void printer::Unlock()
{
LeaveCriticalSection(&_cs);
}
void printer::Lock()
{
EnterCriticalSection(&_cs);
}
_cs是在我的班级"打印机"中创建的CRITICAL_SECTION对象。像这样:
class printer {
private:
static CRITICAL_SECTION _cs;
当我打电话给#34; Lock"抛出异常,我不确定为什么,我已经尝试过阅读MSDN,但我并不完全理解它。
(我不想使用互斥锁...)
答案 0 :(得分:1)
我相信你需要添加
InitializeCriticalSection(&_cs);
如果失败了,你可以尝试将CRITICAL_SECTION _cs更改为可变而不是静态,但这是在黑暗中拍摄的那种。