# Uses of Interface
java.util.concurrent.ThreadFactory

Packages that use ThreadFactory
Package
Description
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.ref
Provides reference-object classes, which support a limited degree of interaction with the garbage collector.
java.nio.channels
Defines channels, which represent connections to entities that are capable of performing I/O operations, such as files and sockets; defines selectors, for multiplexed, non-blocking I/O operations.
java.nio.channels.spi
Service-provider classes for the `java.nio.channels` package.
java.util.concurrent
Utility classes commonly useful in concurrent programming.

- ## Uses of ThreadFactory in java.lang

  Methods in java.lang that return ThreadFactory
  Modifier and Type
  Method
  Description
  `ThreadFactory`
  Thread.Builder.`factory()`
  Returns a `ThreadFactory` to create threads from the current state of the builder.

- ## Uses of ThreadFactory in java.lang.ref

  Methods in java.lang.ref with parameters of type ThreadFactory
  Modifier and Type
  Method
  Description
  `static Cleaner`
  Cleaner.`create(ThreadFactory threadFactory)`
  Returns a new `Cleaner` using a `Thread` from the `ThreadFactory`.

- ## Uses of ThreadFactory in java.nio.channels

  Methods in java.nio.channels with parameters of type ThreadFactory
  Modifier and Type
  Method
  Description
  `static AsynchronousChannelGroup`
  AsynchronousChannelGroup.`withFixedThreadPool(int nThreads, ThreadFactory threadFactory)`
  Creates an asynchronous channel group with a fixed thread pool.

- ## Uses of ThreadFactory in java.nio.channels.spi

  Methods in java.nio.channels.spi with parameters of type ThreadFactory
  Modifier and Type
  Method
  Description
  `abstract AsynchronousChannelGroup`
  AsynchronousChannelProvider.`openAsynchronousChannelGroup(int nThreads, ThreadFactory threadFactory)`
  Constructs a new asynchronous channel group with a fixed thread pool.

- ## Uses of ThreadFactory in java.util.concurrent

  Methods in java.util.concurrent that return ThreadFactory
  Modifier and Type
  Method
  Description
  `static ThreadFactory`
  Executors.`defaultThreadFactory()`
  Returns a default thread factory used to create new threads.
  `ThreadFactory`
  ThreadPoolExecutor.`getThreadFactory()`
  Returns the thread factory used to create new threads.
  `static ThreadFactory`
  Executors.`privilegedThreadFactory()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  This method originally returned a thread factory that created new threads that had the same access control context as the current thread.
  Methods in java.util.concurrent with parameters of type ThreadFactory
  Modifier and Type
  Method
  Description
  `static ExecutorService`
  Executors.`newCachedThreadPool(ThreadFactory threadFactory)`
  Creates a thread pool that creates new threads as needed, but will reuse previously constructed threads when they are available, and uses the provided ThreadFactory to create new threads when needed.
  `static ExecutorService`
  Executors.`newFixedThreadPool(int nThreads, ThreadFactory threadFactory)`
  Creates a thread pool that reuses a fixed number of threads operating off a shared unbounded queue, using the provided ThreadFactory to create new threads when needed.
  `static ScheduledExecutorService`
  Executors.`newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory)`
  Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.
  `static ExecutorService`
  Executors.`newSingleThreadExecutor(ThreadFactory threadFactory)`
  Creates an Executor that uses a single worker thread operating off an unbounded queue, and uses the provided ThreadFactory to create a new thread when needed.
  `static ScheduledExecutorService`
  Executors.`newSingleThreadScheduledExecutor(ThreadFactory threadFactory)`
  Creates a single-threaded executor that can schedule commands to run after a given delay, or to execute periodically.
  `static ExecutorService`
  Executors.`newThreadPerTaskExecutor(ThreadFactory threadFactory)`
  Creates an Executor that starts a new Thread for each task.
  `void`
  ThreadPoolExecutor.`setThreadFactory(ThreadFactory threadFactory)`
  Sets the thread factory used to create new threads.
  Constructors in java.util.concurrent with parameters of type ThreadFactory
  Modifier
  Constructor
  Description
  ``
  `ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory)`
  Creates a new `ScheduledThreadPoolExecutor` with the given initial parameters.
  ``
  `ScheduledThreadPoolExecutor(int corePoolSize, ThreadFactory threadFactory, RejectedExecutionHandler handler)`
  Creates a new `ScheduledThreadPoolExecutor` with the given initial parameters.
  ``
  `ShutdownOnFailure(String name, ThreadFactory factory)`
  Constructs a new `ShutdownOnFailure` with the given name and thread factory.
  ``
  `ShutdownOnSuccess(String name, ThreadFactory factory)`
  Constructs a new `ShutdownOnSuccess` with the given name and thread factory.
  ``
  `StructuredTaskScope(String name, ThreadFactory factory)`
  Creates a structured task scope with the given name and thread factory.
  ``
  `ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory)`
  Creates a new `ThreadPoolExecutor` with the given initial parameters and the default rejected execution handler.
  ``
  `ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler)`
  Creates a new `ThreadPoolExecutor` with the given initial parameters.