Class: ProcessShared::ConditionVariable
- Inherits:
-
Object
- Object
- ProcessShared::ConditionVariable
- Defined in:
- lib/process_shared/condition_variable.rb
Overview
TODO: implement this
Instance Method Summary collapse
- #broadcast ⇒ Object
-
#initialize ⇒ ConditionVariable
constructor
A new instance of ConditionVariable.
- #signal ⇒ Object
- #wait(mutex, timeout = nil) ⇒ Object
Constructor Details
#initialize ⇒ ConditionVariable
Returns a new instance of ConditionVariable.
6 7 8 |
# File 'lib/process_shared/condition_variable.rb', line 6 def initialize @sem = Semaphore.new end |
Instance Method Details
#broadcast ⇒ Object
10 11 12 |
# File 'lib/process_shared/condition_variable.rb', line 10 def broadcast @sem.post end |
#signal ⇒ Object
14 15 16 |
# File 'lib/process_shared/condition_variable.rb', line 14 def signal @sem.post end |
#wait(mutex, timeout = nil) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/process_shared/condition_variable.rb', line 18 def wait(mutex, timeout = nil) mutex.unlock begin @sem.wait ensure mutex.lock end end |