这只是我的代码的一小部分:

CRITICAL_SECTION _cs;
InitializeCriticalSection(&_cs);

 void lock() {
    if (_initizalized){
      EnterCriticalSection(&_cs);
      EnterCriticalSection(&_cs);
      _locked = true;
    }
  }

(我写了两次“EnterCriticalSection”,因为我注意到这行不起作用)
据我了解,这一定会导致僵局。但事实并非如此。为什么?

最佳答案

没有相同的线程可以输入所需的次数。
CRITICAL_SECTION用于限制多个不同线程之间的访问。

10-07 17:56