What you should know about updating global variables from different threads – From Herb Sutter‘s article on Maximizing Locality and Minimizing contention

Linux volatile performance

Intel Blog – Volatile Almost Useless for MultiThreading

Volatile Considered Harmful

Lockless programming – An excellent article that describes read/write re-ordering due to compiler + CPU

New Volatile Semantics with VS 2005 and its implications

A major discussion on MSDN forum regarding volatile, that led to the above article