并发执行
如何串行?
如何串行?
答: 粘接。即:
- 单个节点是原子性的、
- 失当的粘接多个节点
留神:单节点原子性 由组件实现,而 失当的粘接 由利用提供。
如何串行举例:
A. 多个 cas 指令失当的粘接在一起 能够达到 确定的程序。
这里 失当的粘接是:操作 cas 所用的值序列是递增的或递加的单个 cas 指令 是原子性的,因为 cas 是 两条指令合并为一条指令 这条指令就是 cas 指令
对 cpu 来说,单条 cpu 指令是原子性的 是不被打断的,因为 cpu 总是在一条指令完结时才查看是否有中断要跳转过来。而在一条指令两头是不进行中断查看的
B. zk 的一个写操作是原子性的, 用版本号将这些写操作粘接在一起,能够达到 确定的程序,这也即 乐观锁 实现。
这里 失当的粘接是:版本号