# Class: Concurrent::Synchronization::Lock

Inherits:
  LockableObject
  - Object
  - LockableObject
  - Concurrent::Synchronization::Lock
  show all

Defined in:
  lib/concurrent/synchronization/lock.rb

## Overview

TODO (pitr-ch 04-Dec-2016): should be in edge

## Instance Method Summary collapse

- #broadcast ⇒ undocumented
- #signal ⇒ undocumented
- #wait(timeout = nil) ⇒ undocumented
- #wait_until(timeout = nil, &condition) ⇒ undocumented

## Instance Method Details

### #broadcast ⇒ `undocumented`

    27
    28
    29

    # File 'lib/concurrent/synchronization/lock.rb', line 27

    def broadcast
      synchronize { ns_broadcast }
    end

### #signal ⇒ `undocumented`

    21
    22
    23

    # File 'lib/concurrent/synchronization/lock.rb', line 21

    def signal
      synchronize { ns_signal }
    end

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

    9
    10
    11

    # File 'lib/concurrent/synchronization/lock.rb', line 9

    def wait(timeout = nil)
      synchronize { ns_wait(timeout) }
    end

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

    15
    16
    17

    # File 'lib/concurrent/synchronization/lock.rb', line 15

    def wait_until(timeout = nil, &condition)
      synchronize { ns_wait_until(timeout, &condition) }
    end