我正在浏览旧代码并找到以下代码段:
MyClass::~MyClass()
{
EnterCriticalSection(&cs);
//Access Data Members, **NO Global** members are being accessed here
LeaveCriticalSection(&cs);
}
我想知道它是否有助于保护析构函数?
考虑一个场景:
1. Thread1 - About to execute any of the member function which uses critical section
2. Thread2- About to execute destructor.
如果执行顺序是 1=>2,那么它可能会起作用。但是如果顺序颠倒了怎么办?
是设计问题吗?