Module java.base
Package java.util.concurrent

# 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