- 封闭类:
-
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
Nested ClassesModifier 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,用于根据构建器的当前状态创建线程。返回的线程工厂可供多个并发线程使用。- 返回:
- 一个用于创建线程的线程工厂
-