- 既知のすべてのサブインタフェース:
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
を作成します。 実行するスレッドをスケジュールするには、Thread
のstart
メソッドを起動する必要があります。 - startメソッドは、タスクを実行する新しい
Thread
を作成し、スレッドの実行をスケジュールします。 - factoryメソッドは、
ThreadFactory
を作成します。
Thread.Builder
はスレッド・セーフではありません。 ビルダーのfactory()
メソッドによって返されるThreadFactory
は、スレッド・セーフです。
特に指定しないかぎり、このインタフェースのメソッドにnull引数を渡すと、NullPointerException
がスローされます。
- 導入されたバージョン:
- 21
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インタフェース説明static interface
プラットフォーム・スレッドを作成するプラットフォームThread
またはThreadFactory
を作成するためのビルダー。static interface
仮想スレッドを作成する仮想Thread
またはThreadFactory
を作成するためのビルダー。 -
メソッドのサマリー
修飾子と型メソッド説明factory()
ビルダーの現在の状態からスレッドを作成するためにThreadFactory
を返します。inheritInheritableThreadLocals
(boolean inherit) スレッドが構築スレッドからinheritable-thread-local変数の初期値を継承するかどうかを設定します。スレッドの名前を設定します。スレッド名を文字列プレフィクスとカウンタ値の文字列表現の連結に設定します。ビルダーの現在の状態から新しいThread
を作成し、実行するようにスケジュールします。捕捉されない例外ハンドラを設定します。指定されたタスクを実行するために、ビルダーの現在の状態から新しいThread
を作成します。
-
メソッドの詳細
-
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
を作成します。 実行するスレッドをスケジュールするには、Thread
のstart
メソッドを起動する必要があります。- パラメータ:
task
- スレッドの実行時に実行するオブジェクト- 戻り値:
- 新規未開始スレッド
- 例外:
SecurityException
- セキュリティ・マネージャ(「プラットフォーム・スレッド作成時のセキュリティ・マネージャとの相互作用」を参照してください)によって拒否された場合- 関連項目:
-
start
ビルダーの現在の状態から新しいThread
を作成し、実行するようにスケジュールします。- パラメータ:
task
- スレッドの実行時に実行するオブジェクト- 戻り値:
- 新規開始スレッド
- 例外:
SecurityException
- セキュリティ・マネージャ(「プラットフォーム・スレッド作成時のセキュリティ・マネージャとの相互作用」を参照してください)によって拒否された場合- 関連項目:
-
factory
ThreadFactory factory()ビルダーの現在の状態からスレッドを作成するためにThreadFactory
を返します。 返されたスレッド・ファクトリは、複数の同時スレッドで使用しても安全です。- 戻り値:
- スレッドを作成するためのスレッド・ファクトリ
-