1、分层
对外接口函数和内部调用函数一定要分好层次,对外接口函数内不要再去调用对外接口函数,如果出现这种情况,就说明函数设计有问题,需要将公共部分独立成内部调用,否则就可能出现各种问题。
形如
class A
{
public:
void getOut() {
AutoLoc _I(mLock);
getOut2();
}
void getOut2(){
AutoLoc _I(mLock);
}
private:
mutex mLock;
};
对外接口中很多需要加锁用于互斥,那上面代码中就出现死锁问题。
编码总结
最新推荐文章于 2022-04-30 23:41:30 发布