# Uses of Interface
java.util.concurrent.ThreadFactory

Packages that use ThreadFactory
Package
Description
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.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 is only useful in conjunction with the Security Manager, which is deprecated and subject to removal in a future release.
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.
`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.
``
`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.