class Concurrent::JavaCountDownLatch
@!macro count_down_latch
def count
def count @latch.getCount end
def count_down
def count_down @latch.countDown end
def initialize(count)
def initialize(count) unless count.is_a?(Fixnum) && count >= 0 raise ArgumentError.new('count must be in integer greater than or equal zero') end @latch = java.util.concurrent.CountDownLatch.new(count) end
def wait(timeout = nil)
def wait(timeout = nil) if timeout.nil? @latch.await true else @latch.await(1000 * timeout, java.util.concurrent.TimeUnit::MILLISECONDS) end end