ThreadFactory (Java SE 21 & JDK 21)
Description: declaration: module: java.base, package: java.util.concurrent, interface: ThreadFactory
Keywords: java.util.concurrent.ThreadFactory interface

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