进程或线程持有锁期间终止了,怎么办?

1,进程终止:

        进程终止时系统不会自动释放所持有的互斥锁、读写锁和Posix信号量,进程终止时内核总是自动清理的唯一同步锁类型是fcntl记录锁。System V信号量,应用程序可以选择进程终止时内核是否自动清理某个信号量。

 

2,线程终止:

   1),一个线程也可以在持有某个互斥锁期间终止,自己调用pthread_exit或被另一个线程取消。如果线程调用pthread_exit资源终止时,这时它应该知道自己还持有一个互斥锁(对于程序员来说),如果是被另一个线程取消的情况,线程可以安装清楚处理程序(pthread_cleanup_push),在被取消时调用来释放相应的锁。

   2),对于线程意外操作导致进程终止的情况,就和进程终止时相同。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值