这只是我的代码的一小部分:
CRITICAL_SECTION _cs;
InitializeCriticalSection(&_cs);
void lock() {
if (_initizalized){
EnterCriticalSection(&_cs);
EnterCriticalSection(&_cs);
_locked = true;
}
}
(我写了两次“EnterCriticalSection”,因为我注意到这行不起作用)
据我了解,这一定会导致僵局。但事实并非如此。为什么?
最佳答案
没有相同的线程可以输入所需的次数。
CRITICAL_SECTION用于限制多个不同线程之间的访问。