class Concurrent::JavaCountDownLatch

@!macro count_down_latch @!visibility private @!macro internal_implementation_note

Public Class Methods

new(count = 1) click to toggle source

@!macro count_down_latch_method_initialize

# File lib/concurrent/atomic/java_count_down_latch.rb, line 11
def initialize(count = 1)
  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

Public Instance Methods

count() click to toggle source

@!macro count_down_latch_method_count

# File lib/concurrent/atomic/java_count_down_latch.rb, line 34
def count
  @latch.getCount
end
count_down() click to toggle source

@!macro count_down_latch_method_count_down

# File lib/concurrent/atomic/java_count_down_latch.rb, line 29
def count_down
  @latch.countDown
end
wait(timeout = nil) click to toggle source

@!macro count_down_latch_method_wait

# File lib/concurrent/atomic/java_count_down_latch.rb, line 19
def wait(timeout = nil)
  if timeout.nil?
    @latch.await
    true
  else
    @latch.await(1000 * timeout, java.util.concurrent.TimeUnit::MILLISECONDS)
  end
end