ThreadFactory
Stay organized with collections
Save and categorize content based on your preferences.
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.
Public Methods
public
abstract
Thread
newThread
(Runnable r)
Constructs a new Thread
. Implementations may also initialize
priority, name, daemon status, ThreadGroup
, etc.
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
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-07-10 UTC."],[[["`ThreadFactory` is an interface in Java that provides a way to create new threads on demand, offering flexibility in thread creation."],["Using `ThreadFactory` promotes loose coupling by avoiding direct instantiation of `Thread` objects."],["It allows customization of thread properties like priority, name, daemon status, and `ThreadGroup`."],["A simple implementation could directly create a `Thread`, while more sophisticated ones might set context values or use custom thread subclasses."],["The core method is `newThread(Runnable r)`, which takes a `Runnable` and returns a newly constructed `Thread`."]]],[]]