相关疑难解决方法(0)

读写互斥锁/锁如何工作?

假设我在一个没有多读者/单作者互斥体的线程框架中进行编程.我可以使用以下方法实现其功能:

创建两个互斥锁:一个用于读者的递归(锁定计数)和一个用于编写器的二进制互斥锁.

写:

  • 获取对二进制互斥锁的锁定
  • 等到递归互斥锁具有锁定计数零
  • 实际写
  • 释放对二进制互斥锁的锁定

读:

  • 获取对二进制互斥锁的锁定(所以我知道编写器不活动)
  • 递归互斥的递增计数
  • 释放对二进制互斥锁的锁定
  • 实际阅读
  • 减少递归互斥的计数

这不是功课.我没有正式的并发编程培训,我正在努力把握这些问题.如果有人可以指出一个缺陷,拼出不变量或提供更好的算法,我会非常高兴.在线或在死树上的好参考也将受到赞赏.

language-agnostic concurrency multithreading mutex locking

14
推荐指数
1
解决办法
2万
查看次数