Module: DispatchQueue::ConditionVariablePool

Defined in:
lib/dispatch_queue_rb/internal/condition_variable_pool.rb

Constant Summary collapse

@@mutex =
Mutex.new
@@pool =
[]

Class Method Summary collapse

Class Method Details

.acquireObject



17
18
19
20
21
22
23
# File 'lib/dispatch_queue_rb/internal/condition_variable_pool.rb', line 17

def acquire()
  @@mutex.synchronize do
    return @@pool.shift if !@@pool.empty?
  end

  return Mutex.new, ConditionVariable.new
end

.release(mutex, condition) ⇒ Object



25
26
27
28
29
# File 'lib/dispatch_queue_rb/internal/condition_variable_pool.rb', line 25

def release( mutex, condition )
  @@mutex.synchronize do
    @@pool << [mutex, condition]
  end
end