- 封闭类:
-
Thread
public static sealed interface Thread.Builder permits Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
用于创建
Thread
和ThreadFactory
对象的构建器。
Builder
定义了设置Thread
属性的方法,例如线程name
。这包括否则会被继承的属性。设置完成后,可以使用以下方法创建Thread
或ThreadFactory
:
- unstarted方法创建一个新的未启动
Thread
来运行任务。必须调用Thread
的start
方法来安排线程执行。 - start方法创建一个新的
Thread
来运行任务并安排线程执行。 - factory方法创建一个
ThreadFactory
。
Thread.Builder
不是线程安全的。构建器的factory()
方法返回的ThreadFactory
是线程安全的。
除非另有说明,在此接口中将null参数传递给方法会引发NullPointerException
。
- 自:
- 21
- 参见:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
用于创建平台Thread
或创建平台线程的ThreadFactory
的构建器。static interface
用于创建虚拟Thread
或创建虚拟线程的ThreadFactory
的构建器。 -
Method Summary
Modifier and TypeMethodDescriptionfactory()
返回一个ThreadFactory
,用于根据构建器的当前状态创建线程。inheritInheritableThreadLocals
(boolean inherit) 设置线程是否从构造线程继承inheritable-thread-local
变量的初始值。设置线程名称。将线程名称设置为字符串前缀和计数器值的字符串表示形式的连接。根据构建器的当前状态创建一个新的Thread
并安排其执行。设置未捕获异常处理程序。根据构建器的当前状态创建一个新的Thread
来运行给定的任务。
-
Method Details
-
name
设置线程名称。- 参数:
-
name
- 线程名称 - 返回:
- 此构建器
-
name
将线程名称设置为字符串前缀和计数器值的字符串表示形式的连接。计数器的初始值为start
。使用此构建器创建Thread
后,计数器会递增,以便下一个线程以新的计数器值命名。使用此构建器创建的ThreadFactory
以计数器的当前值为种子。在使用newThread
创建Thread
后,ThreadFactory
会递增其计数器的副本。- API注释:
-
以下示例创建一个构建器,调用两次以启动两个名称分别为"
worker-0
"和"worker-1
"的线程。Thread.Builder builder = Thread.ofPlatform().name("worker-", 0); Thread t1 = builder.start(task1); // 名称为"worker-0" Thread t2 = builder.start(task2); // 名称为"worker-1"
- 参数:
-
prefix
- 线程名称前缀 -
start
- 计数器的起始值 - 返回:
- 此构建器
- 抛出:
-
IllegalArgumentException
- 如果起始值为负
-
inheritInheritableThreadLocals
设置线程是否从构造线程继承inheritable-thread-local
变量的初始值。默认为继承。- 参数:
-
inherit
-true
表示继承,false
表示不继承 - 返回:
- 此构建器
-
uncaughtExceptionHandler
设置未捕获异常处理程序。- 参数:
-
ueh
- 未捕获异常处理程序 - 返回:
- 此构建器
-
unstarted
- 参数:
-
task
- 线程执行时要运行的对象 - 返回:
- 一个新的未启动的线程
- 抛出:
-
SecurityException
- 如果被安全管理器拒绝(请参阅创建平台线程时与安全管理器的交互) - 参见:
-
start
根据构建器的当前状态创建一个新的Thread
并安排其执行。- 参数:
-
task
- 线程执行时要运行的对象 - 返回:
- 一个新的已启动的线程
- 抛出:
-
SecurityException
- 如果被安全管理器拒绝(请参阅创建平台线程时与安全管理器的交互) - 参见:
-
factory
ThreadFactory factory()返回一个ThreadFactory
,用于根据构建器的当前状态创建线程。返回的线程工厂可供多个并发线程使用。- 返回:
- 一个用于创建线程的线程工厂
-