public boolean isAllTestFinished() {
		synchronized (this) {
			// Mostly running thread count is ok to determine it's finished.
			if (this.runningThread == 0) {
				return true;
				// However sometimes runningThread is over 0 but all process is
				// marked as
				// FINISHED.. It can be treated as finished status as well.
			}
			return this.currentNotFinishedProcessCount == 0;
		}
	}
Check all test is finished. To be safe, this counts the running thread
and unfinished worker processes. If one of them is 0, It assumes the test
is finished.

@return true if finished
ngrinder-core/src/main/java/net/grinder/SingleConsole.java