def shutdown(force = false)
      @workforce.mu_synchronize do
        Thread.pass until @job_queue.empty? unless force
        while worker = @workforce.shift; worker.terminate; end
      end
      
      nil
    end
def shutdown(force = false)
      @workforce.mu_synchronize do
        Thread.pass until @job_queue.empty? unless force
        while worker = @workforce.shift; worker.terminate; end
      end
      
      nil
    end
Prevents more workers from being created and waits for all jobs
 to finish. Once the jobs have completed the workers are terminated.

 To start up again just QueueToTheFuture::schedule more jobs once
 this method returns.

 @param [true, false] force If set to true, shutdown immediately
   and clear the queue without waiting for any jobs to complete.