# Interface ThreadFactory

public interface ThreadFactory
An object that creates new threads on demand. Using thread factories removes hardwiring of calls to `new Thread`, enabling applications to use special thread subclasses, priorities, etc.

The simplest implementation of this interface is just:

    class SimpleThreadFactory implements ThreadFactory {
      public Thread newThread(Runnable r) {
        return new Thread(r);
      }
    }

The `Executors.defaultThreadFactory()` method provides a more useful simple implementation, that sets the created thread context to known values before returning it.

Since:
  1.5
See Also:
  - `Thread.Builder.factory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Thread`
  `newThread(Runnable r)`
  Constructs a new unstarted `Thread` to run the given runnable.

- ## Method Details

  - ### newThread

    Thread newThread(Runnable r)
    Constructs a new unstarted `Thread` to run the given runnable.
    Parameters:
      `r` - a runnable to be executed by new thread instance
    Returns:
      constructed thread, or `null` if the request to create a thread is rejected
    See Also:
      - Inheritance when creating threads