@Override
    protected void afterExecute(Runnable r, Throwable t) {
      super.afterExecute(r, t);
      running.remove(Thread.currentThread());
    }
A subclass of ThreadPoolExecutor that keeps track of the Runnables that are executing at any
given point in time.
hbase-server/src/main/java/org/apache/hadoop/hbase/executor/ExecutorService.java