compareAndSet
Atomically sets the value to the given new value if the current value equals the expected value, returns true if the operation was successful and false only if the current value was not equal to the expected value.
Provides sequential consistent ordering guarantees and cannot fail spuriously.