这个概念能起作用吗?
class MyClass
{
public:
~MyClass()
{
MyMutex.acquire();
}
void ThreadFunction(void* param)
{
MyMutex.acquire();
//do something
MyMutex.release();
}
};
另外,假设我们有一个这个类的对象,称之为"inst"
我想要实现的是:if:
inst->ThreadFunction
delete inst
,然后此调用将挂起,直到ThreadFunction释放互斥锁。可以吗?
答案 0 :(得分:3)
如果MyClass
包含资源,那么在MyClass
周围创建一个包装器会好得多。如果程序使用继承自MyClass
的类,则更糟糕,因为此时已经调用了ChildofMyClass
的析构函数。