In this video about Disruptor, a concurrency framework, the lazySet method of Java\'s Atomic* classes (e.g. AtomicLong) is mentioned. According to the documentation, this method
Found this description of the implementation in Bug 6275329:
The semantics are that the write is guaranteed not to be re-ordered with any previous write, but may be reordered with subsequent operations (or equivalently, might not be visible to other threads) until some other volatile write or synchronizing action occurs).
...
For people who like to think of these operations in terms of machine-level barriers on common multiprocessors, lazySet provides a preceeding store-store barrier (which is either a no-op or very cheap on current platforms), but no store-load barrier (which is usually the expensive part of a volatile-write)