title: Does CAS conflict with volatile
body: <p>Now that cas has volatile read and write semantics, why should volatile be combined to implement synchronized code blocks?
  For example, the shared variables of all classes under the java.util.concurrent.atomic package will be modified with volatile.
  <code>public class AtomicInteger extends Number implements java.io.Serializable { private volatile int value; }</code></p>