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
def get
def get @___mutex.synchronize { @___value } end
def initialize(value = nil)
def initialize(value = nil) @___mutex = Mutex.new @___value = value end
def set(new_value)
def set(new_value) @___mutex.synchronize { @___value = new_value } end