Module java.base
Package java.lang

Interface Thread.Builder

已知的所有子接口:
Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
封闭类:
Thread

public static sealed interface Thread.Builder permits Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
用于创建ThreadThreadFactory对象的构建器。

Builder定义了设置Thread属性的方法,例如线程name。这包括否则会被继承的属性。设置完成后,可以使用以下方法创建ThreadThreadFactory

  • unstarted方法创建一个新的未启动Thread来运行任务。必须调用Threadstart方法来安排线程执行。
  • start方法创建一个新的Thread来运行任务并安排线程执行。
  • factory方法创建一个ThreadFactory

Thread.Builder不是线程安全的。构建器的factory()方法返回的ThreadFactory是线程安全的。

除非另有说明,在此接口中将null参数传递给方法会引发NullPointerException

自:
21
参见:
  • Method Details

    • name

      Thread.Builder name(String name)
      设置线程名称。
      参数:
      name - 线程名称
      返回:
      此构建器
    • name

      Thread.Builder name(String prefix, long start)
      将线程名称设置为字符串前缀和计数器值的字符串表示形式的连接。计数器的初始值为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

      Thread.Builder inheritInheritableThreadLocals(boolean inherit)
      设置线程是否从构造线程继承inheritable-thread-local变量的初始值。默认为继承。
      参数:
      inherit - true表示继承,false表示不继承
      返回:
      此构建器
    • uncaughtExceptionHandler

      Thread.Builder uncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
      设置未捕获异常处理程序。
      参数:
      ueh - 未捕获异常处理程序
      返回:
      此构建器
    • unstarted

      Thread unstarted(Runnable task)
      根据构建器的当前状态创建一个新的Thread来运行给定的任务。必须调用Threadstart方法来安排线程执行。
      参数:
      task - 线程执行时要运行的对象
      返回:
      一个新的未启动的线程
      抛出:
      SecurityException - 如果被安全管理器拒绝(请参阅创建平台线程时与安全管理器的交互
      参见:
    • start

      Thread start(Runnable task)
      根据构建器的当前状态创建一个新的Thread并安排其执行。
      参数:
      task - 线程执行时要运行的对象
      返回:
      一个新的已启动的线程
      抛出:
      SecurityException - 如果被安全管理器拒绝(请参阅创建平台线程时与安全管理器的交互
      参见:
    • factory

      ThreadFactory factory()
      返回一个ThreadFactory,用于根据构建器的当前状态创建线程。返回的线程工厂可供多个并发线程使用。
      返回:
      一个用于创建线程的线程工厂