public static <T extends Thread> T setDaemonThreadRunning(T t, String name,
    UncaughtExceptionHandler handler) {
    t.setName(name);
    if (handler != null) {
      t.setUncaughtExceptionHandler(handler);
    }
    t.setDaemon(true);
    t.start();
    return t;
  }
Utility method that sets name, daemon status and starts passed thread.
@param t       thread to frob
@param name    new name
@param handler A handler to set on the thread. Pass null if want to use default handler.
@return Returns the passed Thread <code>t</code>.
hbase-common/src/main/java/org/apache/hadoop/hbase/util/Threads.java