17 lines
719 B
Text
17 lines
719 B
Text
|
Ruby-atomic is an atomic reference implementation for JRuby, Rubinius, and MRI.
|
||
|
|
||
|
This library provides:
|
||
|
|
||
|
* an Atomic class that guarantees atomic updates to its contained value
|
||
|
|
||
|
The Atomic class provides accessors for the contained "value" plus two update
|
||
|
methods:
|
||
|
|
||
|
* update will run the provided block, passing the current value and replacing
|
||
|
it with the block result iff the value has not been changed in the mean
|
||
|
time. It may run the block repeatedly if there are other concurrent updates
|
||
|
in progress.
|
||
|
* try_update will run the provided block, passing the current value and
|
||
|
replacing it with the block result. If the value changes before the update
|
||
|
can happen, it will throw Atomic::ConcurrentUpdateError.
|