I was reading various posts about lazySet()
method on AtomicInteger, which in-short denotes that visibility of the set value might not be immediately propagated to other threads (it is not a full barrier).
I ran a simple Demo, with multiple readers and one writer. readers periodically read value from AtomicInteger and the writer every 10 ms updates the value. I saw no distinguishable difference between lazySet()
and set()
. Is it due to x86 and strong coherency model? or sthe store buffers are simply quickly drained?