Usage of volatile modifier. Explanation, why long operations are not
atomic.
Reentrant Locks, Lock and Reentrant lock classes and examples.
Reference to "Brian Goets: Java concurrency in practice"
List using Lock.