Class: Concurrent::AtomicReference
- Inherits:
-
MutexAtomicReference
- Object
- Synchronization::LockableObject
- MutexAtomicReference
- Concurrent::AtomicReference
- Defined in:
- lib/concurrent/atomic/atomic_reference.rb,
lib/concurrent/atomic/atomic_reference.rb,
lib/concurrent/atomic/atomic_reference.rb,
lib/concurrent/atomic/atomic_reference.rb
Overview
An object reference that may be updated atomically. All read and write operations have java volatile semantic.
Testing with ruby 2.1.2 Testing with Concurrent::MutexAtomicBoolean…
2.790000 0.000000 2.790000 ( 2.791454)
Testing with Concurrent::CAtomicBoolean…
0.740000 0.000000 0.740000 ( 0.740206)
Testing with jruby 1.9.3 Testing with Concurrent::MutexAtomicBoolean…
5.240000 2.520000 7.760000 ( 3.683000)
Testing with Concurrent::JavaAtomicBoolean…
3.340000 0.010000 3.350000 ( 0.855000)
Instance Method Summary collapse
-
#compare_and_set ⇒ Boolean
Atomically sets the value to the given updated value if the current value == the expected value.
-
#get ⇒ Object
Gets the current value.
-
#get_and_set ⇒ Object
Atomically sets to the given value and returns the old value.
- #initialize ⇒ Object constructor
-
#set ⇒ Object
Sets to the given value.
Constructor Details
#initialize ⇒ Object
22 23 |
# File 'lib/concurrent/atomic/atomic_reference.rb', line 22 class Concurrent::AtomicReference < Concurrent::JavaAtomicReference end |
Instance Method Details
#compare_and_set ⇒ Boolean
Atomically sets the value to the given updated value if the current value == the expected value.
that the actual value was not equal to the expected value.
22 23 |
# File 'lib/concurrent/atomic/atomic_reference.rb', line 22 class Concurrent::AtomicReference < Concurrent::JavaAtomicReference end |
#get ⇒ Object
Gets the current value.
22 23 |
# File 'lib/concurrent/atomic/atomic_reference.rb', line 22 class Concurrent::AtomicReference < Concurrent::JavaAtomicReference end |
#get_and_set ⇒ Object
Atomically sets to the given value and returns the old value.
22 23 |
# File 'lib/concurrent/atomic/atomic_reference.rb', line 22 class Concurrent::AtomicReference < Concurrent::JavaAtomicReference end |
#set ⇒ Object
Sets to the given value.
22 23 |
# File 'lib/concurrent/atomic/atomic_reference.rb', line 22 class Concurrent::AtomicReference < Concurrent::JavaAtomicReference end |