public void interruptibleRun() {
			final Worker worker;

			synchronized (m_workers) {
				worker = m_workers[m_workerIndex];
			}

			assert worker != null;

			try {
				worker.waitFor();
			} catch (UncheckedInterruptedException e) {
				// We're taking our worker down with us.
				worker.destroy();
			}

			synchronized (m_workers) {
				m_workers[m_workerIndex] = null;
			}

			if (allFinished()) {
				synchronized (m_notifyOnFinish) {
					m_notifyOnFinish.notifyAll();
				}
			}
		}
Start some of all workers.

@param numberOfWorkers worker count
@return true if all workers is not available.
@throws EngineException engine exception
ngrinder-core/src/main/java/net/grinder/engine/agent/ErrorStreamRedirectWorkerLauncher.java