title: What is "Linearizability"?
body: <p>Can anyone out there help me understand what <strong>Linearizability</strong> is?  I need an explanation that is simple and easy to understand.  I'm reading <em>The Art of Multiprocessor Programming</em> by Maruice Herilihy and Nir Shavit and am trying to understand Chapter 3 about Concurrent Objects.</p>
  
  <p>I understand that a method is Linearizable if it has a point where it seems to "take effect" instantaneously from the point of view of the other threads.  That makes sense, but it is also said that Linearizability is actually a property of the execution history.  What does it mean for an execution history to be Linearizable, why do I care, and how does it relate to a method or object being Linearizable?</p>
  
  <p>Thank you!</p>