Consistency model, which describes how far the behavior of your multi-threaded (or distributed) system is from the ideal "sequential behavior", belongs to the most important concepts of concurrency systems. But unfortunatly, discriptions about this topic are usually incomplete and even inconsistent with each other.
This article, as its title indicates, clearly explains all the important consistency models with vivid diagrammatic presentations, which is well worth reading.
Its main content is following:
"Multithreading" Consistency Models
- Strong Consistency aka Linearizability
- Sequential Consistency
- Quiescent Consistency
"Distributed" Consistency Models
- Eventual Consistency
- Strict Consistency