Skip to main content

Linearizability

  • Reference work entry
  • First Online:
  • 139 Accesses

Years and Authors of Summarized Original Work

  • 1990; Herlihy, Wing

Problem Definition

An object in languages such as Java and C++ is a container for data. Each object provides a set of methods that are the only way to to manipulate that object's internal state. Each object has a class which defines the methods it provides and what they do.

In the absence of concurrency, methods can be described by a pair consisting of a precondition (describing the object's state before invoking the method) and a postcondition, describing, once the method returns, the object's state and the method's return value. If, however, an object is shared by concurrent threads in a multiprocessor system, then method calls may overlap in time, and it no longer makes sense to characterize methods in terms of pre- and post-conditions.

Linearizabilityis a correctness condition for concurrent objects that characterizes an object's concurrent behavior in terms of an “equivalent” sequential behavior. Informally, the...

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   1,599.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   1,999.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Recommended Reading

  1. Eswaran KP, Gray JN, Lorie RA, Traiger IL (1976) The notions of consistency and predicate locks in a database system. Commun ACM 19(11):624–633. doi:10.1145/360363.360369

    Article  MathSciNet  MATH  Google Scholar 

  2. Herlihy M (1991) Wait-free synchronization. ACM Trans Program Lang Syst (TOPLAS) 13(1):124–149

    Article  Google Scholar 

  3. Herlihy MP, Wing JM (1990) Linearizability: a correctness condition for concurrent objects. ACM Trans Program Lang Syst (TOPLAS) 12(3):463–492

    Article  Google Scholar 

  4. Lamport L (1979) How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans Comput C-28(9):690

    Article  MATH  Google Scholar 

  5. Vafeiadis V, Herlihy M, Hoare T, Shapiro M (2006) Proving correctness of highly-concurrent linearisable objects. In: PPoPP'06: proceedings of the eleventh ACM SIGPLAN symposium on principles and practice of parallel programming, pp 129–136. doi:10.1145/1122971.1122992

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer Science+Business Media New York

About this entry

Cite this entry

Herlihy, M. (2016). Linearizability. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_203

Download citation

Publish with us

Policies and ethics