クラスStructuredTaskScope.ShutdownOnSuccess<T>
- 型パラメータ:
T- 結果の型
- すべての実装されたインタフェース:
AutoCloseable
- 含まれているクラス:
StructuredTaskScopePREVIEW<T>
ShutdownOnSuccessは、JavaプラットフォームのプレビューAPIです。
StructuredTaskScope。 取得されると、未完了のスレッドを中断し、タスク・スコープの所有者をウェイクアップするために、タスク・スコープを「停止」PREVIEWします。 このクラスによって実装されるポリシーは、サブタスクの結果が("任意の起動")になり、他の未完了サブタスクの結果が不要になった場合を対象としています。
特に指定しないかぎり、このクラスのメソッドにnull引数を渡すと、NullPointerExceptionがスローされます。
-
ネストされたクラスのサマリー
クラスjava.util.concurrent.StructuredTaskScopePREVIEWで宣言されたネストされたクラス/インタフェース
StructuredTaskScope.ShutdownOnFailurePREVIEW, StructuredTaskScope.ShutdownOnSuccessPREVIEW<T>, StructuredTaskScope.SubtaskPREVIEW<T> -
コンストラクタのサマリー
コンストラクタコンストラクタ説明仮想スレッドを作成する名前のない新しいShutdownOnSuccessを構築します。ShutdownOnSuccess(String name, ThreadFactory factory) 指定された名前およびスレッド・ファクトリで新しいShutdownOnSuccessを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明join()このタスク・スコープで開始されたサブタスクが「successfully」PREVIEWに完了するまで、またはすべてのサブタスクが完了するまで待機します。このタスク・スコープで開始されたサブタスクが「successfully」PREVIEWに完了するまで、またはすべてのサブタスクが完了するまで、指定した期限まで待機します。result()「successfully」PREVIEWに完了した最初のサブタスクの結果を返します。「successfully」PREVIEWに完了した最初のサブタスクの結果を返します。それ以外の場合は、指定された例外指定関数によって生成された例外をスローします。クラスjava.util.concurrent.StructuredTaskScopePREVIEWで宣言されたメソッド
close, ensureOwnerAndJoined, fork, handleComplete, isShutdown, shutdown
-
コンストラクタの詳細
-
ShutdownOnSuccess
public ShutdownOnSuccess(String name, ThreadFactory factory) 指定された名前およびスレッド・ファクトリで新しいShutdownOnSuccessを構築します。 タスク範囲には、モニタリングおよび管理の目的で任意の名前が付けられます。 スレッド・ファクトリは、サブタスクが「フォーク」PREVIEWの場合に、スレッドをcreateするために使用します。 タスク・スコープは現在のスレッドによって所有されます。Constructionは、現在のスレッドの「スコープ値」PREVIEWバインディングを取得して、タスク・スコープで開始されたスレッドによる継承を取得します。 クラス説明の「ツリー構造」セクションには、スコープ値バインディングの継承を目的として、親子関係が暗黙的に確立される方法の詳細が示されています。
- パラメータ:
name- タスク範囲の名前。NULLにできますfactory- スレッドのファクトリ
-
ShutdownOnSuccess
public ShutdownOnSuccess()仮想スレッドを作成する名前のない新しいShutdownOnSuccessを構築します。- 実装要件:
- このコンストラクタは、
nullという名前の2引数コンストラクタと、仮想スレッドを作成するスレッド・ファクトリの起動と同等です。
-
-
メソッドの詳細
-
join
public StructuredTaskScope.ShutdownOnSuccessPREVIEW<T> join() throws InterruptedExceptionこのタスク・スコープで開始されたサブタスクが「successfully」PREVIEWに完了するまで、またはすべてのサブタスクが完了するまで待機します。このメソッドは、このタスク・スコープのすべてのスレッドstartedPREVIEWが実行の完了を待機して、すべてのサブタスクを待機します。 すべてのスレッドが終了するか、サブタスクが正常に完了するか、現在のスレッドがinterruptedになると、待機が停止します。 また、このタスク・スコープを停止するために
shutdownPREVIEWメソッドを直接起動すると、待機も停止します。このメソッドは、タスク・スコープ所有者のみが起動できます。
- オーバーライド:
- クラス
StructuredTaskScopePREVIEW<T>のjoin - 戻り値:
- このタスクの範囲
- 例外:
IllegalStateException- このタスク範囲がクローズされている場合WrongThreadException- 現在のスレッドがタスク・スコープ所有者でない場合InterruptedException- 待機中に割込みが発生した場合
-
joinUntil
public StructuredTaskScope.ShutdownOnSuccessPREVIEW<T> joinUntil(Instant deadline) throws InterruptedException, TimeoutException このタスク・スコープで開始されたサブタスクが「successfully」PREVIEWに完了するまで、またはすべてのサブタスクが完了するまで、指定した期限まで待機します。このメソッドは、このタスク・スコープのすべてのスレッドstartedPREVIEWが実行の完了を待機して、すべてのサブタスクを待機します。 すべてのスレッドが終了するか、サブタスクが正常に完了するか、期限に達するか、現在のスレッドがinterruptedになると、待機が停止します。 また、このタスク・スコープを停止するために
shutdownPREVIEWメソッドを直接起動すると、待機も停止します。このメソッドは、タスク・スコープ所有者のみが起動できます。
- オーバーライド:
- クラス
StructuredTaskScopePREVIEW<T>のjoinUntil - パラメータ:
deadline- 期限- 戻り値:
- このタスクの範囲
- 例外:
IllegalStateException- このタスク範囲がクローズされている場合WrongThreadException- 現在のスレッドがタスク・スコープ所有者でない場合InterruptedException- 待機中に割込みが発生した場合TimeoutException- 待機中に期限に達した場合
-
result
public T result() throws ExecutionException「successfully」PREVIEWに完了した最初のサブタスクの結果を返します。サブタスクが正常に完了せず、サブタスクfailedPREVIEWがスローされると、
ExecutionExceptionはサブタスクの例外とともにcauseとしてスローされます。- 戻り値:
- successfullyPREVIEWを完了した最初のサブタスクの結果
- 例外:
ExecutionException- サブタスクが正常に完了せず、少なくとも1つのサブタスクが失敗した場合IllegalStateException- サブタスクが完了していないか、タスクのスコープ所有者がフォーク後に結合しなかった場合WrongThreadException- 現在のスレッドがタスク・スコープ所有者でない場合
-
result
「successfully」PREVIEWに完了した最初のサブタスクの結果を返します。それ以外の場合は、指定された例外指定関数によって生成された例外をスローします。サブタスクが正常に完了せず、サブタスクfailedPREVIEWが完了すると、サブタスクの例外を指定して例外関数が呼び出されます。
- 型パラメータ:
X- スローされる例外のタイプ- パラメータ:
esf- 例外供給機能- 戻り値:
- 結果で完了した最初のサブタスクの結果
- 例外:
X- サブタスクが正常に完了せず、少なくとも1つのサブタスクが失敗した場合IllegalStateException- サブタスクが完了していないか、タスクのスコープ所有者がフォーク後に結合しなかった場合WrongThreadException- 現在のスレッドがタスク・スコープ所有者でない場合
-
ShutdownOnSuccessを使用できます。