http://docs.oracle.com/javase/tutorial/essential/concurrency/atomic.html
- Reads and writes are atomic for reference variables and for most primitive variables (all types except
long
anddouble
). - Reads and writes are atomic for all variables declared
volatile
(includinglong
anddouble
variables).