The Java AtomicInteger class has a method -
boolean weakCompareAndSet(int expect,int update)
Its documnentation says:
Ma
But why are such allowed to occur at all? Is this because the hardware/OS underneath is buggy? Or is there some good technical reason behind this?