The comment here is clearly wrong, since there is no division by two. I think that the code is wrong, because this results in not starting runners when it should start runners. Am I misanalyzing?
if (runners.isEmpty() || (queue.remainingCapacity() < queue.size() // queue // is // half // full // and // we // can // add // more // runners && runners.size() < threadCount)) {