![show/hide quicksearch [+]](../../images/find.png)
The engine used to run multiple tests in parallel.
Add a job to the queue
 
               # File minitest-5.14.2/lib/minitest/parallel.rb, line 43
def << work; @queue << work; end
             
            Shuts down the pool of workers by signalling them to quit and waiting for them all to finish what they're currently working on.
 
               # File minitest-5.14.2/lib/minitest/parallel.rb, line 50
def shutdown
  size.times { @queue << nil }
  @pool.each(&:join)
end
             
            Start the executor
 
               # File minitest-5.14.2/lib/minitest/parallel.rb, line 26
def start
  @pool  = size.times.map {
    Thread.new(@queue) do |queue|
      Thread.current.abort_on_exception = true
      while (job = queue.pop)
        klass, method, reporter = job
        reporter.synchronize { reporter.prerecord klass, method }
        result = Minitest.run_one_method klass, method
        reporter.synchronize { reporter.record result }
      end
    end
  }
end