为了账号安全,请及时绑定邮箱和手机立即绑定

A调用AAA()异常因为2个函数都有m_mutex->lock(); 怎么解决呢?

A调用AAA()异常因为2个函数都有m_mutex->lock(); 怎么解决呢?

C++
qq_遁去的一_1 2023-03-02 18:14:44
std::mutexvoid A(){m_mutex->lock();AAA()m_mutex->unlock();return;}void AAA(){m_mutex->lock();m_mutex->unlock();return;}
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

那就不调用啊,你的A函数已经加锁了。干嘛好调用AAA再加一次锁。而且互斥锁只能加锁一次,你的A里面加完锁,进入到AAA里面就就会导致AAA函数永远没办法获取到锁,从而阻塞在那里。

只加锁一次,懂了吗,如果你两个函数都有功能,那就再A释放了锁在调用AAA或者只在A里面加锁


查看完整回答
反对 回复 2023-03-06
  • 1 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信