Class: ThreadSafe::Util::Striped64::Cell
- Inherits:
-
AtomicReference
- Object
- AtomicReference
- ThreadSafe::Util::Striped64::Cell
- Defined in:
- lib/thread_safe/util/striped64.rb
Overview
Padded variant of AtomicLong supporting only raw accesses plus CAS. The
value
field is placed between pads, hoping that the JVM
doesn't reorder them.
Optimisation note: It would be possible to use a release-only form of CAS here, if it were provided.
Instance Method Summary (collapse)
Instance Method Details
- (Object) cas_computed
77 78 79 |
# File 'lib/thread_safe/util/striped64.rb', line 77 def cas_computed cas(current_value = value, yield(current_value)) end |