线性一致性(linearizability),理学-计算机科学技术-计算机软件-软件基础理论-程序验证,刻画并发对象原子行为的一种性质。要求并发对象的方法的实现在效果上等同于在方法调用和返回之间的某个瞬间时刻起作用,这个时刻称为可线性化点。线性一致性最早由M.赫利希(Maurice Herlihy)和J.温(Jeannette Wing)在1987年和1990年的论文中提出,已经被广泛接受为并发对象的正确性定义之一。具体的定义基于历史的概念:历史是方法调用事件和返回事件的序列。线性一致性要求,对于并发对象的每个执行历史,都可以被重新排列为一个合法的串行执行历史,而且该串行历史必须保持原历史上的单个线程上的事件顺序以及无并发的方法调用(即执行时间上无重叠的方法调用)的顺序。最简单的保证线性一致性的方法是将对象方法的整个实现代码用临界区保护起来。这种做法的并发效率低下。因此,人们提出了各种基于细粒度锁的算法、无锁算法、软件事务内存技术等,在保证线性一致性的同时兼顾并发效率。线性一致性具有可组合性,即多个线性一致的并发对象组合起来仍是线性一致的。