class Async::Semaphore
def initialize(limit = 1, parent: nil)
@parameter limit [Integer] The maximum number of times the semaphore can be acquired before it blocks.
def initialize(limit = 1, parent: nil) @count = 0 @limit = limit @waiting = List.new @parent = parent end