这是一道面试题。
在 Linux 上,如何确保解锁被锁定在死亡/终止的 POSIX 线程中的 POSIX 互斥锁?
我的想法:
Linux向程序发送kill或终止信号时会自动释放它吗?但是,我找不到有关操作系统如何执行此操作的更多详细信息?
thanks
A 健壮的互斥体可以用来处理互斥锁的拥有者在持有互斥锁的情况下被终止的情况,这样就不会发生死锁。它们比常规互斥体有更多的开销,并且要求锁定互斥体的所有客户端准备好处理错误代码EOWNERDEAD
。这表明前所有者已经死亡,并且接收此错误代码的客户端是新所有者并负责清理任何不一致的状态。
鲁棒互斥体是具有鲁棒属性集的互斥体。它是使用 POSIX.1-2008 标准函数设置的.
更多详细信息和示例代码可以在Linux 手册页pthread_mutexattr_getrobust.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)