Source for java.util.concurrent.ThreadFactory

   1: /*
   2:  * Written by Doug Lea with assistance from members of JCP JSR-166
   3:  * Expert Group and released to the public domain, as explained at
   4:  * http://creativecommons.org/licenses/publicdomain
   5:  */
   6: 
   7: package java.util.concurrent;
   8: 
   9: /**
  10:  * An object that creates new threads on demand.  Using thread factories
  11:  * removes hardwiring of calls to {@link Thread#Thread(Runnable) new Thread},
  12:  * enabling applications to use special thread subclasses, priorities, etc.
  13:  *
  14:  * <p>
  15:  * The simplest implementation of this interface is just:
  16:  * <pre>
  17:  * class SimpleThreadFactory implements ThreadFactory {
  18:  *   public Thread newThread(Runnable r) {
  19:  *     return new Thread(r);
  20:  *   }
  21:  * }
  22:  * </pre>
  23:  *
  24:  * The {@link Executors#defaultThreadFactory} method provides a more
  25:  * useful simple implementation, that sets the created thread context
  26:  * to known values before returning it.
  27:  * @since 1.5
  28:  * @author Doug Lea
  29:  */
  30: public interface ThreadFactory {
  31: 
  32:     /**
  33:      * Constructs a new <tt>Thread</tt>.  Implementations may also initialize
  34:      * priority, name, daemon status, <tt>ThreadGroup</tt>, etc.
  35:      *
  36:      * @param r a runnable to be executed by new thread instance
  37:      * @return constructed thread
  38:      */
  39:     Thread newThread(Runnable r);
  40: }