of reading a
 <code>volatile</code> variable.

   <li> <code>set</code> has the memory effects of writing (assigning) a
 <code>volatile</code> variable.

   <li> <code>lazySet</code> has the memory effects of writing (assigning)
   a <code>volatile</code> variable except that it permits reorderings with
   subsequent (but not previous) memory actions that do not themselves
   impose reordering constraints with ordinary non-<code>volatile</code>
   writes.  Among other usage contexts, <code>lazySet</code> ma