Hello


> I did try to use the Queue class, but it seemed a little magical and I 
> couldn't quite figure out how to use it for my needs.

  I unfortunately can't really where your deadlock comes from. But the
Queue class is really simple:

  Just push elements onto the Queue in the filler class, and pop them
from your workers... That's exactly what you need:

class Filler

  def refill
     ary = [pull the feeds]
     for element in ar
        queue << element
     end
     sleep...
  end
end

class Worker
  def work
    while(a = queue.pop)
      get a...
    end
  end
end

  And that's all. To finish, just push false into the queue once for
every worker thread, to make sure they exit.

	Vince