Class: Concurrent::CountDownLatch
| Relationships & Source Files | |
| Inherits: | Concurrent::CountDownLatchImplementation 
 | 
| Defined in: | lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb | 
Overview
A synchronization object that allows one thread to wait on multiple other threads. The thread that will wait creates a CountDownLatch and sets the initial value (normally equal to the number of other threads). The initiating thread passes the latch to the other threads then waits for the other threads by calling the #wait method. Each of the other threads calls #count_down when done with its work. When the latch counter reaches zero the waiting thread is unblocked and continues with its work. A CountDownLatch can be used only once. Its value cannot be reset.
Class Method Summary
- 
    
      .new(count = 1)  
    
    constructor
    Create a new CountDownLatchwith the initial #count.
Instance Method Summary
- 
    
      #count  ⇒ Fixnum 
    
    The current value of the counter. 
- 
    
      #count_down  
    
    Signal the latch to decrement the counter. 
- 
    
      #wait(timeout = nil)  ⇒ Boolean 
    
    Block on the latch until the counter reaches zero or until timeoutis reached.
Constructor Details
.new(count = 1)
Create a new CountDownLatch with the initial #count.
# File 'lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb', line 98
class CountDownLatch < CountDownLatchImplementation end
Instance Method Details
    #count  ⇒ Fixnum 
  
The current value of the counter.
# File 'lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb', line 98
class CountDownLatch < CountDownLatchImplementation end
#count_down
Signal the latch to decrement the counter. Will signal all blocked threads when the #count reaches zero.
# File 'lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb', line 98
class CountDownLatch < CountDownLatchImplementation end
    #wait(timeout = nil)  ⇒ Boolean 
  
Block on the latch until the counter reaches zero or until timeout is reached.
# File 'lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb', line 98
class CountDownLatch < CountDownLatchImplementation end