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