モジュール java.base
パッケージ java.lang

インタフェースThread.Builder

既知のすべてのサブインタフェース:
Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
含まれているクラス:
Thread

public static sealed interface Thread.Builder permits Thread.Builder.OfPlatform, Thread.Builder.OfVirtual
ThreadおよびThreadFactoryオブジェクトのビルダー。

Builderは、スレッドnameなどのThreadプロパティを設定するためのメソッドを定義します。 これには、それ以外の場合は「継承」のプロパティが含まれます。 設定すると、次のメソッドを使用してThreadまたはThreadFactoryが作成されます:

  • 「未開始」メソッドは、タスクを実行するための新しい「未開始」 Threadを作成します。 実行するスレッドをスケジュールするには、Threadstartメソッドを起動する必要があります。
  • startメソッドは、タスクを実行する新しい Threadを作成し、スレッドの実行をスケジュールします。
  • factoryメソッドは、ThreadFactoryを作成します。

Thread.Builderはスレッド・セーフではありません。 ビルダーのfactory()メソッドによって返されるThreadFactoryは、スレッド・セーフです。

特に指定しないかぎり、このインタフェースのメソッドにnull引数を渡すと、NullPointerExceptionがスローされます。

導入されたバージョン:
21
関連項目:
  • メソッドの詳細

    • name

      Thread.Builder name(String name)
      スレッドの名前を設定します。
      パラメータ:
      name - スレッド名
      戻り値:
      このビルダー
    • name

      Thread.Builder name(String prefix, long start)
      スレッド名を文字列プレフィクスとカウンタ値の文字列表現の連結に設定します。 カウンタの初期値はstartです。 このビルダーでThreadが作成されると、次のスレッドに新しいカウンタ値を使用して名前が付けられるように増分されます。 このビルダーで作成されたThreadFactoryには、カウンタの現在の値がシードされます。 ThreadFactoryは、newThreadを使用してThreadを作成した後にカウンタのコピーを増分します。
      APIのノート:
      次の例では、"worker-0"および"worker-1"という名前の2つのスレッドを開始するために2回起動されるビルダーを作成します。
        Thread.Builder builder = Thread.ofPlatform().name("worker-", 0);
        Thread t1 = builder.start(task1);   // name "worker-0"
        Thread t2 = builder.start(task2);   // name "worker-1"
      
      パラメータ:
      prefix - スレッド名のプレフィクス
      start - カウンタの開始値
      戻り値:
      このビルダー
      例外:
      IllegalArgumentException - startが負の場合
    • 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を返します。 返されたスレッド・ファクトリは、複数の同時スレッドで使用しても安全です。
      戻り値:
      スレッドを作成するためのスレッド・ファクトリ