class Concurrent::TVar
A ‘TVar` is a transactional variable - a single-element container that is used as part of a transaction - see `Concurrent::atomically`.
@!macro thread_safe_variable_comparison
{include:file:docs-source/tvar.md}
Public Class Methods
Source
# File lib/concurrent-ruby/concurrent/tvar.rb, line 16 def initialize(value) @value = value @version = 0 @lock = Mutex.new end
Create a new ‘TVar` with an initial value.
Public Instance Methods
Source
# File lib/concurrent-ruby/concurrent/tvar.rb, line 23 def value Concurrent::atomically do Transaction::current.read(self) end end
Get the value of a ‘TVar`.
Source
# File lib/concurrent-ruby/concurrent/tvar.rb, line 30 def value=(value) Concurrent::atomically do Transaction::current.write(self, value) end end
Set
the value of a ‘TVar`.