class Concurrent::Synchronization::Condition
TODO (pitr-ch 04-Dec-2016): should be in edge
Public Class Methods
new(lock)
click to toggle source
Calls superclass method
# File lib/concurrent/synchronization/condition.rb, line 12 def initialize(lock) super() @Lock = lock end
Public Instance Methods
broadcast()
click to toggle source
# File lib/concurrent/synchronization/condition.rb, line 41 def broadcast @Lock.synchronize { ns_broadcast } end
ns_broadcast()
click to toggle source
Calls superclass method
# File lib/concurrent/synchronization/condition.rb, line 45 def ns_broadcast synchronize { super } end
ns_signal()
click to toggle source
Calls superclass method
# File lib/concurrent/synchronization/condition.rb, line 37 def ns_signal synchronize { super } end
ns_wait(timeout = nil)
click to toggle source
Calls superclass method
# File lib/concurrent/synchronization/condition.rb, line 21 def ns_wait(timeout = nil) synchronize { super(timeout) } end
ns_wait_until(timeout = nil, &condition)
click to toggle source
Calls superclass method
# File lib/concurrent/synchronization/condition.rb, line 29 def ns_wait_until(timeout = nil, &condition) synchronize { super(timeout, &condition) } end
signal()
click to toggle source
# File lib/concurrent/synchronization/condition.rb, line 33 def signal @Lock.synchronize { ns_signal } end
wait(timeout = nil)
click to toggle source
# File lib/concurrent/synchronization/condition.rb, line 17 def wait(timeout = nil) @Lock.synchronize { ns_wait(timeout) } end
wait_until(timeout = nil, &condition)
click to toggle source
# File lib/concurrent/synchronization/condition.rb, line 25 def wait_until(timeout = nil, &condition) @Lock.synchronize { ns_wait_until(timeout, &condition) } end