15,466
社区成员
发帖
与我相关
我的任务
分享
lock_type* lock;
resource_type* resource;
... ...
void func()
{
if(NULL != lock)
{
// 若执行到此处,切换到另一线程并且把锁释放了,崩溃。。。
lock->Lock();
if(NULL != resource)
{
use(resource);
delete resource;
resource = NULL;
}
lock->UnLock();
if(NULL == resource)
{
delete lock;
lock = NULL;
}
}
}