public final Runnable runMaster() {
		this.master.setName("master");
		this.master.start();
		final Runnable workerRun = new Runnable() {

			@Override
			public void run() {
				while (true) {
					if (!runTask()) {
						return;
					}
				}
			}
		};
		final int nMax = Math.max(NUM_CPUS, 2);
		for (int n = 0; ++n < nMax;) {
			final Thread t = new Thread(workerRun, "Worker-" + n);
			t.start();
		}
		return workerRun;
	}