linux - 多个进程中的pthread_mutex_t...谁破坏了它?

标签 linux pthreads

我使用 pthread_mutex_t 来同步同一级别的多个进程之间对资源的访问(即不存在父/子关系)。

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

最佳答案

从我的头顶上 -

  1. 使用信号量(或共享内存计数器)
  2. 确定领导者(第一个创建互斥锁的进程)是 将会摧毁它的那个,并且不要退出此进程,直到 其余的都关闭了。
  3. 在外部创建互斥锁,并将其删除 外部 - 进程认为这是理所当然的(也许永远不会删除 它;取决于系统)

等等...

关于linux - 多个进程中的pthread_mutex_t...谁破坏了它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28616084/

相关文章:

c++ - pthreads 编译但未创建二进制文件

linux - 适合 Linux 的 SVG 渲染器?

c++ - 使用 pthread_create 时出现 valgrind 内存泄漏错误

c - 为什么不能将值直接传递给c中的线程

c - C 中的线程/函数指针错误

linux - pthread_cond_signal 死锁

linux - 带变量的for循环

python - 我应该捕获哪些 Linux 信号来制作一个好的应用程序

linux - 在 bash 中评估代表单个管道命令的两个变量的最佳方法是什么?

linux - 使用 inotify-tools 作为守护进程处理数据