public final class ThreadFactoryBuilder extends Object
A ThreadFactory builder, providing any combination of these features:
If no backing thread factory is provided, a default backing thread factory is used as if by calling setThreadFactory(
Executors.defaultThreadFactory()
)
.
Constructor and Description |
---|
ThreadFactoryBuilder()
Creates a new
ThreadFactory builder. |
Modifier and Type | Method and Description |
---|---|
ThreadFactory |
build()
Returns a new thread factory using the options supplied during the building process.
|
ThreadFactoryBuilder |
setDaemon(boolean daemon)
Sets daemon or not for new threads created with this ThreadFactory.
|
ThreadFactoryBuilder |
setNameFormat(String nameFormat)
Sets the naming format to use when naming threads (
Thread.setName(java.lang.String) ) which are created with this ThreadFactory. |
ThreadFactoryBuilder |
setPriority(int priority)
Sets the priority for new threads created with this ThreadFactory.
|
ThreadFactoryBuilder |
setThreadFactory(ThreadFactory backingThreadFactory)
Sets the backing
ThreadFactory for new threads created with this ThreadFactory. |
ThreadFactoryBuilder |
setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)
Sets the
Thread.UncaughtExceptionHandler for new threads created with this ThreadFactory. |
public ThreadFactoryBuilder()
Creates a new ThreadFactory
builder.
public ThreadFactoryBuilder setNameFormat(String nameFormat)
Sets the naming format to use when naming threads (Thread.setName(java.lang.String)
) which are created with this ThreadFactory.
nameFormat
- a String.format(String, Object...)
-compatible format String, to which a unique integer (0, 1, etc.) will be supplied as the single parameter. This integer will be unique to the built instance of the ThreadFactory and will be assigned sequentially. For example, "rpc-pool-%d"
will generate thread names like "rpc-pool-0"
, "rpc-pool-1"
, "rpc-pool-2"
, etc.public ThreadFactoryBuilder setDaemon(boolean daemon)
Sets daemon or not for new threads created with this ThreadFactory.
daemon
- whether or not new Threads created with this ThreadFactory will be daemon threadspublic ThreadFactoryBuilder setPriority(int priority)
Sets the priority for new threads created with this ThreadFactory.
priority
- the priority for new Threads created with this ThreadFactorypublic ThreadFactoryBuilder setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)
Sets the Thread.UncaughtExceptionHandler
for new threads created with this ThreadFactory.
uncaughtExceptionHandler
- the uncaught exception handler for new Threads created with this ThreadFactorypublic ThreadFactoryBuilder setThreadFactory(ThreadFactory backingThreadFactory)
Sets the backing ThreadFactory
for new threads created with this ThreadFactory. Threads will be created by invoking #newThread(Runnable) on this backing ThreadFactory
.
backingThreadFactory
- the backing ThreadFactory
which will be delegated to during thread creation.MoreExecutors
public ThreadFactory build()
Returns a new thread factory using the options supplied during the building process. After building, it is still possible to change the options used to build the ThreadFactory and/or build again. State is not shared amongst built instances.
ThreadFactory