【发布时间】:2010-10-13 09:13:06
【问题描述】:
我正在查看遗留代码,发现以下 sn-p:
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,那么它可能会起作用。但是如果顺序颠倒了呢?
这是设计问题吗?
【问题讨论】:
标签: c++ multithreading destructor