pthread 加锁的细节

一篇关于pthread加锁细节的文章,介绍了由于错误的加锁顺序导致的死锁问题。文中提到,在持有写锁时尝试获取读锁,虽然会失败但依然保持写锁,最终引发死锁。建议对加锁函数的返回值进行检查,避免此类问题的发生。
摘要由CSDN通过智能技术生成

最近又有同学发现自己的模块发生了死锁,经过定位,发现问题时序如下:

  1. 调用pthread_rwlock_wrlock 加写锁
  2. 同一线程调用pthread_rwlock_rdlock 加读锁
  3. 调用pthread_rwlock_unlock 释放写锁
  4. 调用pthread_rwlock_unlock 释放读锁
  5. 加写锁


时序如上,但是执行的结果又会怎样呢?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值