While going through the Blocking/Non Blocking Algorithms section at the link
and the below code to explain the Atomic compareAndSet operation
compareAndSet