我正在使用pthread_mutex_t在相同级别的多个进程之间同步对资源的访问(即,没有父/子关系)。

如何确定何时安全调用pthread_mutex_destroy?我可以想到的在不引入竞争条件的情况下确定另一个进程是否正在使用该互斥锁的唯一方法是引入另一个互斥锁。

最佳答案

从我的头顶上-


使用信号量(或共享内存计数器)
确定领导者(创建互斥体的第一个过程)是
将会销毁它的人,直到
他们其余的关闭。
在外部创建互斥锁并将其删除
在外部-流程将其视为理所当然(甚至永远不会删除
它;取决于系统)


等等...

09-25 22:16