顺序一致性(Sequential Consistency)是计算机系统中保证多线程程序正确执行的一种内存一致性模型。
它要求所有操作的执行顺序与程序员的源码顺序一致,即每个线程的操作在其本地源码顺序中保持不变,
同时不同线程的操作全局排序也符合源码顺序。
核心要求
顺序一致性模型确保:
全局顺序稳定:所有读写操作可排列成一个全局顺序,且每个线程的操作在该顺序中保持其源码定义的先后关系。
数据依赖强制顺序:当操作涉及相同数据且存在数据依赖时(如写后读),必须按源码顺序执行。
可见性保证:写操作完成后,后续读操作能立即看到新值。
与线性一致性的区别
顺序一致性不要求操作顺序与实际时间一致,仅保证客户端观察到的顺序符合源码逻辑。而线性一致性(原子一致性)
要求所有操作按真实时间顺序执行,强调实时性和全局唯一顺序。
实现方式
现代系统通常通过共识算法(如Raft、Paxos)或分布式锁机制确保多节点同步,避免操作重排序。例如金融交易系统、
分布式锁服务等场景需严格满足顺序一致性。