class Chef::Util::ThreadedJobQueue

A simple threaded job queue

Create a queue:

queue = ThreadedJobQueue.new

Add jobs:

queue << lambda { |lock| foo.the_bar }

A job is a callable that optionally takes a Mutex instance as its only parameter.

Then start processing jobs with n threads:

queue.process(n)