Interface Thread.Builder
- All Known Subinterfaces:
- Thread.Builder.OfPlatform,- Thread.Builder.OfVirtual
- Enclosing class:
- Thread
public static sealed interface Thread.Builder
permits Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
A builder for 
Thread and ThreadFactory objects.
  Builder defines methods to set Thread properties such
 as the thread name. This includes properties that would
 otherwise be inherited. Once set, a
 Thread or ThreadFactory is created with the following methods:
 
-  The unstarted method creates a new
          unstarted Threadto run a task. TheThread'sstartmethod must be invoked to schedule the thread to execute.
-  The start method creates a new Threadto run a task and schedules the thread to execute.
-  The factory method creates a ThreadFactory.
 A Thread.Builder is not thread safe. The ThreadFactory
 returned by the builder's factory() method is thread safe.
 
 Unless otherwise specified, passing a null argument to a method in
 this interface causes a NullPointerException to be thrown.
- Since:
- 21
- See Also:
- 
Nested Class SummaryNested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA builder for creating a platformThreadorThreadFactorythat creates platform threads.static interfaceA builder for creating a virtualThreadorThreadFactorythat creates virtual threads.
- 
Method SummaryModifier and TypeMethodDescriptionfactory()Returns aThreadFactoryto create threads from the current state of the builder.inheritInheritableThreadLocals(boolean inherit) Sets whether the thread inherits the initial values of inheritable-thread-local variables from the constructing thread.Sets the thread name.Sets the thread name to be the concatenation of a string prefix and the string representation of a counter value.Creates a newThreadfrom the current state of the builder and schedules it to execute.Sets the uncaught exception handler.Creates a newThreadfrom the current state of the builder to run the given task.
- 
Method Details- 
nameSets the thread name.- Parameters:
- name- thread name
- Returns:
- this builder
 
- 
nameSets the thread name to be the concatenation of a string prefix and the string representation of a counter value. The counter's initial value isstart. It is incremented after aThreadis created with this builder so that the next thread is named with the new counter value. AThreadFactorycreated with this builder is seeded with the current value of the counter. TheThreadFactoryincrements its copy of the counter afternewThreadis used to create aThread.- API Note:
- The following example creates a builder that is invoked twice to start
 two threads named "worker-0" and "worker-1".Thread.Builder builder = Thread.ofPlatform().name("worker-", 0); Thread t1 = builder.start(task1); // name "worker-0" Thread t2 = builder.start(task2); // name "worker-1"
- Parameters:
- prefix- thread name prefix
- start- the starting value of the counter
- Returns:
- this builder
- Throws:
- IllegalArgumentException- if start is negative
 
- 
inheritInheritableThreadLocalsSets whether the thread inherits the initial values of inheritable-thread-local variables from the constructing thread. The default is to inherit.- Parameters:
- inherit-- trueto inherit,- falseto not inherit
- Returns:
- this builder
 
- 
uncaughtExceptionHandlerSets the uncaught exception handler.- Parameters:
- ueh- uncaught exception handler
- Returns:
- this builder
 
- 
unstarted
- 
start
- 
factoryThreadFactory factory()Returns aThreadFactoryto create threads from the current state of the builder. The returned thread factory is safe for use by multiple concurrent threads.- Returns:
- a thread factory to create threads
 
 
-