c - 在这些情况下,pthread rwlock 的行为是什么?

标签 c pthreads

pthread 的 rwlock 在以下情况下的指定行为是什么:

  • 有读者阅读,
  • 有一个写者在等待写锁,
  • 请求读锁

是否授予读锁?如果是,是否有办法阻止在为编写器提供服务之前授予读锁?

最佳答案

这是所有 POSIX 锁定接口(interface)的缺点之一:标准自愿保留这种行为,以允许在实现中松懈。如果您想编写可移植代码,您不能依赖其中的任何东西。

这使得无死锁算法的实现和证明变得特别乏味。这就是为什么在最近的一项工作中我们研究了施加更强规则的锁,即 FIFO policy for lock acquire. 的原因之一。

关于c - 在这些情况下,pthread rwlock 的行为是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5167604/

相关文章:

CMOCKA/链接器 : 'wrap' ping lots of functions

c - 是否在 C 中定义了结构类型的对齐方式?

c++ - 在 CLion 中调试时如何切换到 cmd/powershell?

posix - pthread 函数 "_np"后缀

运行多个线程时出现 C pthread 段错误

perror 示例可以改进吗?

c - 左值需要作为赋值 c 的左操作数

macos - pthread_kill 到 GCD 管理的线程

c++ - 在网络游戏中正确发送/接收数据的方法(UDP,但为什么不是 TCP)

c - 当我使用 pthread 时,新窗口不会打开