jjzjj

CSingleLock

全部标签

windows - CSingleLock 实现在 Windows 7 上工作正常,但在 Win XP 上以死锁结束

我尝试用自己的CSingleLock替换MFC的CSingleLock实现,但现在我在WindowsXP上遇到了一个死锁,我在Windows7上没有,而且我在任何一个操作系统上都没有MFC的CSingleLock,除了查看每个在我的应用程序中锁定和解锁,我的实现中缺少什么:classCCriticalSection{CRITICAL_SECTIONm_cs;public:CCriticalSection(){InitializeCriticalSection(&m_cs);}~CCriticalSection(){DeleteCriticalSection(&m_cs);}voidLo

c++ - CMutex::Lock 与 CSingleLock::Lock

我被要求支持一些遗留代码,我看到了一些让我摸不着头脑的事情。在某些代码段中,我看到类实例使用CMutex实例来同步方法执行。例如classCClassA:publicCObject{public:voidDoSomething();private:CMutexm_mutex;}voidCClassA::DoSomething(){m_mutex.Lock();//...logic...m_mutex.Unlock();}在同一项目的其他地方,我发现代码正在使用CSingleLockclassCClassB:publicCObject{public:voidDoSomething();p