Linux互斥量

愤怒的呆鱼 2018-03-26 11:41:42
加入线程A获取一个锁,在线程A还没有解锁的时候,这个锁可以由线程B去解锁吗?如果可以的话为什么要这样设计?
...全文
1006 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2018-04-09
  • 打赏
  • 举报
回复
B线程是可以解锁的。 好像编程习惯应该是: 1) 把资源的操作包装起来,只有包装的几个API可以用到锁,其他人看不到,这样碰到这类问题就很少了 2) 在lock失败时要进行出错处理,重试或者返回。(如果lock失败,而继续unlock,会出现楼主描述的情况,)
水兮淼淼 2018-04-02
  • 打赏
  • 举报
回复
变量在其生存周期内有效。。互斥锁只是标签。你自己遵守规则才可以。。。
jklinux 2018-03-28
  • 打赏
  • 举报
回复
引用 楼主 cgqzly123 的回复:
加入线程A获取一个锁,在线程A还没有解锁的时候,这个锁可以由线程B去解锁吗?如果可以的话为什么要这样设计?
不知道楼主是指pthread_mutex_t锁吗, 这个可以在其它线程里解锁的。这样可以用于实现流水线的工作模式, 即一个产品可经过线程A处理后再交给线程B处理, 线程A未处理完成,线程B通过锁不上等待线程A
zhxianbin 2018-03-26
  • 打赏
  • 举报
回复
互斥锁只能在同一个线程,不同线程同步使用信号量
老衲笑纳了 2018-03-26
  • 打赏
  • 举报
回复
AB线程 做成一个线程就好了

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧