# File lib/never_block/pool/fiber_pool.rb, line 35 def initialize(count = 50) @fibers,@queue = [],[] count.times do |i| fiber = Fiber.new do |block| loop do block.call unless @queue.empty? block = @queue.shift else block = Fiber.yield @fibers << Fiber.current end end end fiber[:neverblock] = true @fibers << fiber end end