class ThreadSafe::Util::AtomicReference::FullLockingAtomicReference

def compare_and_set(old_value, new_value)

def compare_and_set(old_value, new_value)
  return false unless @___mutex.try_lock
  begin
    return false unless @___value.equal? old_value
    @___value = new_value
  ensure
    @___mutex.unlock
  end
  true
end