protected boolean shutdown(long timeout, TimeUnit timeUnit) throws InterruptedException {
      logger.debug("Shutting down LoadCreator");
      running = false;
      return shutdownLatch.await(timeout, timeUnit);
    }
Marks that shutdown is required and waits for shutdown for the specified time.
@param timeout the amount of time to wait for shutdown.
@param timeUnit time unit of {@code timeout}.
@return {@code true} if shutdown succeeded within the {@code timeout}. {@code false} otherwise.
@throws InterruptedException if the wait for shutdown is interrupted.
ambry-tools/src/main/java/com/github/ambry/tools/perf/rest/PerfNioServer.java