永发信息网

c++ std::mutex 锁

答案:2  悬赏:70  手机版
解决时间 2021-01-25 20:47
  • 提问者网友:练爱
  • 2021-01-25 16:56
std::mutex
void A()
{
m_mutex->lock();

AAA()
m_mutex->unlock();

return;
}

void AAA()
{
m_mutex->lock();

m_mutex->unlock();

return;
}

A调用AAA()异常因为2个函数都有m_mutex->lock();
怎么解决
最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-01-25 17:47
那就不调用啊,你的A函数已经加锁了。干嘛好调用AAA再加一次锁。而且互斥锁只能加锁一次,你的A里面加完锁,进入到AAA里面就就会导致AAA函数永远没办法获取到锁,从而阻塞在那里。
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-01-25 18:59
搜一下:c++ std::mutex 锁
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯