Class: Parapool::Synchronizer
- Inherits:
-
Object
- Object
- Parapool::Synchronizer
- Includes:
- MonitorMixin
- Defined in:
- lib/parapool/synchronizer.rb
Instance Method Summary collapse
- #count ⇒ Object
-
#initialize(count) ⇒ Synchronizer
constructor
A new instance of Synchronizer.
- #wait ⇒ Object
Constructor Details
#initialize(count) ⇒ Synchronizer
Returns a new instance of Synchronizer.
7 8 9 10 11 12 13 |
# File 'lib/parapool/synchronizer.rb', line 7 def initialize(count) super() @count = count @completed = new_cond end |
Instance Method Details
#count ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/parapool/synchronizer.rb', line 15 def count synchronize do @count -= 1 @completed.broadcast end self end |
#wait ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/parapool/synchronizer.rb', line 25 def wait synchronize do @completed.wait_until { @count.zero? } end self end |