这是一个场景。鲍勃是作家,爱丽丝是读者。鲍勃写东西,爱丽丝读。规则如下:
1)无论Alice是否正在读取,Bob都可以写入(读取不会阻止写入)。
2)当Bob正在写入时,Alice不能读取(写入会阻止读取)。
3)当Alice读完后,她可以知道Bob在她读的过程中是否写过(读者可以检测到他们刚刚读到的数据是否无效)。
2)和3)实际上是一个组合规则,但我列出了两个以供讨论。这个问题可以通过一个互斥和一个计数器(版本号)来解决,但我不知道的是,上面的场景是不是有一个常用的名称?有没有对它做过任何研究?
发布于 2017-06-02 19:31:28
我不知道的
是,这个问题是不是一个众所周知的以术语命名的场景?
是的,它被称为Seqlock:https://en.wikipedia.org/wiki/Seqlock
有没有人在研究它,或者我只是在做一个轮子?
AFAIK有各种实现(如Linux内核)和论文。
https://stackoverflow.com/questions/44325726
复制相似问题