@Override
  public Thread newThread(final Runnable r) {

    final Thread t = new Thread(this.group, r,
        String.format("%s:thread-%03d", this.prefix, this.threadNumber.getAndIncrement()), 0);

    if (t.isDaemon()) {
      t.setDaemon(false);
    }

    if (t.getPriority() != Thread.NORM_PRIORITY) {
      t.setPriority(Thread.NORM_PRIORITY);
    }

    if (this.uncaughtExceptionHandler != null) {
      t.setUncaughtExceptionHandler(this.uncaughtExceptionHandler);
    }

    return t;
  }
@ Override public Thread newThread ( final Runnable r ) { final Thread t = new Thread ( this . group , r , String . format ( "%s:thread-%03d" , this . prefix , this . threadNumber . getAndIncrement ( ) ) , 0 ) ; if ( t . isDaemon ( ) ) { t . setDaemon ( false ) ; } if ( t . getPriority ( ) != Thread . NORM_PRIORITY ) { t . setPriority ( Thread . NORM_PRIORITY ) ; } if ( this . uncaughtExceptionHandler != null ) { t . setUncaughtExceptionHandler ( this . uncaughtExceptionHandler ) ; } return t ; }
Creates a new thread.

@param r the runnable