class Dummy def walk cur = $stack.pop puts "walking host ... #{cur}." sleep ( rand ( 10 ) ) end def close end end $stack = [] 200.times do |y| $stack.push(y) end runner = PooledRunner.new(Dummy, 10, [], true) while $stack.size > 0 do runner.run() do |handler| handler.walk end end runner.wait_for_all runner.close_handlers