IBM IT-.
www.ibm.com/developerworks/ru/ 
Java theory and practice: Managing volatility
The Java language contains two intrinsic synchronization mechanisms: synchronized blocks (and methods) and volatile variables. Both are provided for the purpose of rendering code thread-safe. Volatile variables are the weaker (but sometimes simpler or le
ibm.com/developerworks/java/library/j-jtp06197.html 