能否基于旧值按指定规则原子化设置单元格并获取旧值?
原子化单元格值更新与旧值获取方案
存在这样的原子化操作方案,这类操作属于**比较并交换(CAS)**的变种,能保证读取旧值、计算新值、写入新值的全流程原子性,不会被其他操作打断。以下是三种操作的具体旧值到新值的映射规则:
操作1
0 → 1 1 → 1 2 → 2
仅当单元格旧值为0时将其设为1,旧值为1或2时保持原值不变,操作完成后返回单元格的旧值。
操作2
0 → 2 1 → 1 2 → 2
仅当单元格旧值为0时将其设为2,旧值为1或2时保持原值不变,操作完成后返回单元格的旧值。
操作3
无论单元格当前的旧值是什么,均将其设为0,操作完成后返回单元格的旧值。
内容的提问来源于stack exchange,提问作者Test
相关产品推荐
相关产品推荐

