private boolean startWorker() {
        while (true) {
            int numWorkers = _numWorkers.get();
            if (!_controller.shouldIncrement(numWorkers)) {
                return false;
            }
            if (_numWorkers.compareAndSet(numWorkers, numWorkers+1)) {
                _workers.add(new Worker());
                return true;
            }
        }
    }