Module: Concurrent::Synchronization

Defined in:
lib/concurrent-ruby/concurrent/synchronization.rb,
lib/concurrent-ruby/concurrent/synchronization/lock.rb,
lib/concurrent-ruby/concurrent/synchronization/object.rb,
lib/concurrent-ruby/concurrent/synchronization/volatile.rb,
lib/concurrent-ruby/concurrent/synchronization/condition.rb,
lib/concurrent-ruby/concurrent/synchronization/mri_object.rb,
lib/concurrent-ruby/concurrent/synchronization/rbx_object.rb,
lib/concurrent-ruby/concurrent/synchronization/jruby_object.rb,
lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb,
lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb,
lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb,
lib/concurrent-ruby/concurrent/synchronization/truffleruby_object.rb,
lib/concurrent-ruby/concurrent/synchronization/rbx_lockable_object.rb,
lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb,
lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb,
lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb

Overview

noinspection RubyInstanceVariableNamingConvention

Defined Under Namespace

Classes: Object

Constant Summary collapse

Volatile =

Volatile adds the attr_volatile class method when included.

foo = Foo.new foo.bar => 1 foo.bar = 2 => 2

Examples:

class Foo
  include Concurrent::Synchronization::Volatile

  attr_volatile :bar

  def initialize
    self.bar = 1
  end
end
case
when Concurrent.on_cruby?
  MriAttrVolatile
when Concurrent.on_jruby?
  JRubyAttrVolatile
when Concurrent.on_rbx?
  RbxAttrVolatile
when Concurrent.on_truffleruby?
  TruffleRubyAttrVolatile
else
  MriAttrVolatile
end

Instance Method Summary collapse

Instance Method Details

#broadcastundocumented



# File 'lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb', line 67

#initialize(*args, &block) ⇒ undocumented



# File 'lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb', line 52

#signalundocumented



# File 'lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb', line 64

#synchronizeundocumented



# File 'lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb', line 55

#wait(timeout = nil) ⇒ undocumented



# File 'lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb', line 61

#wait_until(timeout = nil, &condition) ⇒ undocumented



# File 'lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb', line 58