Module: Concurrent::Synchronization — Concurrent Ruby

# 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

- #broadcast ⇒ undocumented
- #initialize(*args, &block) ⇒ undocumented
- #signal ⇒ undocumented
- #synchronize ⇒ undocumented
- #wait(timeout = nil) ⇒ undocumented
- #wait_until(timeout = nil, &condition) ⇒ undocumented

## Instance Method Details

### #broadcast ⇒ `undocumented`

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

### #initialize(*args, &block) ⇒ `undocumented`

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

### #signal ⇒ `undocumented`

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

### #synchronize ⇒ `undocumented`

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

### #wait(timeout = nil) ⇒ `undocumented`

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

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

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