假想的锁定机制:非阻滞写,阅读和无效
An imaginary lock mechanism: non-blocking write, read and invalidate
这是场景。鲍勃(Bob(是一位作家,爱丽丝(Alice(是读者。鲍勃(Bob(写东西,爱丽丝(Alice(读了它们。规则是:
1(鲍勃可以写出爱丽丝是否正在阅读(阅读不会阻止写信(。
2(当鲍勃(Bob(写作时,爱丽丝(Alice(无法阅读(写作确实屏蔽读数(。
3(当爱丽丝完成阅读时,她可以知道鲍勃在阅读过程中是否写过(读者可以检测他们刚刚阅读的数据是否有效(。
2(和3(实际上是一个综合规则,但我列出了两个进行良好讨论。这个问题可以通过一个静音和一个计数器(版本编号(来解决,但是我不知道的是,上面是具有常用名称的众所周知的方案吗?对此有任何研究吗?
我不知道的是,问题是一个以术语命名的众所周知的情况?
是的,称为seqlock:https://en.wikipedia.org/wiki/seqlock
有人在上面学习还是我只是做轮子?
afaik有多种实施(例如Linux内核(和论文。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 无法访问嵌套类.类的使用无效
- 如何找到锁定Linux futex的C++行
- G锁定铸造到基础上会释放模拟行为
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如何检查线程是否锁定
- 如何解决错误:SCIP C++中的 SCIP 阶段无效 <10>
- 如何在C++中找到active directory中禁用和锁定的窗口帐户
- 我应该在锁定TBitmap画布后解锁它吗
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- FFMPEG配置文件级别id大小无效
- 错误:从"int"到枚举c++的转换无效
- 如何修复此错误:className::className的无效使用
- 为什么将值返回函数传递给重载=运算符对运算符函数有效,而对其他运算符无效
- C++-模板嵌套类的引用初始化无效
- 错误:无效的预处理指令 #i 的意思是 #if?
- 多维数组 C++ 中数组下标的类型"int[int]"无效
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 从 'int' 到 'int*' CPP 的转换无效
- 假想的锁定机制:非阻滞写,阅读和无效