- 含まれているクラス:
ScopedValue<T>
Carrierを使用してマッピングを蓄積し、マッピング内のすべてのスコープ値を使用して操作(RunnableまたはCallable)を値にバインドして実行できるようにします。 次の例では、k1が(またはリ・バウンド)をv1にバインドし、k2が(またはリ・バウンド)をv2にバインドした操作を実行します。
Carrierは不変でスレッド・セーフです。 whereメソッドは、新しいCarrierオブジェクトを返し、既存のマッピングを変更しません。
特に指定しないかぎり、このクラスのメソッドにnull引数を渡すと、NullPointerExceptionがスローされます。
- 導入されたバージョン:
- 20
-
メソッドのサマリー
修飾子と型メソッド説明<R> Rこのマッピングの各スコープ値を使用して、現在のスレッドの値にバインドされた値を返す操作をコールします。<T> Tget(ScopedValue<T> key) このマッピングのScopedValueの値を返します。voidこのマッピング内の各スコープ値を現在のスレッド内の値にバインドした操作を実行します。where(ScopedValue<T> key, T value) このキャリアからのマッピングに加えて、keyからvalueへの新しいマッピングを含む新しいCarrierを返します。
-
メソッドの詳細
-
where
public <T> ScopedValue.Carrier where(ScopedValue<T> key, T value) このキャリアからのマッピングに加えて、keyからvalueへの新しいマッピングを含む新しいCarrierを返します。 このキャリアにスコープ値keyのマッピングがすでにある場合は、新しいvalueにマップされます。 現在のキャリアは不変であるため、このメソッドでは変更されません。- 型パラメータ:
T- 値の型- パラメータ:
key-ScopedValueキーvalue- 値はnullです- 戻り値:
- このキャリアからのマッピングと新しいマッピングを含む新しい
Carrier
-
get
public <T> T get(ScopedValue<T> key) このマッピングのScopedValueの値を返します。- 型パラメータ:
T- 値の型- パラメータ:
key-ScopedValueキー- 戻り値:
- 値
- 例外:
NoSuchElementException- キーがこのマッピングに存在しない場合
-
call
このマッピングの各スコープ値を使用して、現在のスレッドの値にバインドされた値を返す操作をコールします。 操作が(通常または例外あり)を完了すると、マッピング内の各スコープ値は、現在のスレッドでバインドされていない値に戻されるか、以前バインドされた場合は以前の値に戻されます。スコープ値は、「構造化方式」で使用することを目的としています。
opによってStructuredTaskScopeが作成され、「閉じる」が作成されない場合、opを終了すると、動的スコープで作成された各StructuredTaskScopeの基礎となる構成がクローズされます。 すべての子スレッドがサブタスクを完了するまで、ブロックが必要になる場合があります。 クローズは、作成された順序とは逆の順序で実行されます。 クローズすると、StructureViolationExceptionがスローされます。- 型パラメータ:
R- 操作の結果のタイプ- パラメータ:
op- 実行する操作- 戻り値:
- 結果
- 例外:
Exception-opが例外ありで完了した場合- 関連項目:
-
run
public void run(Runnable op) このマッピング内の各スコープ値を現在のスレッド内の値にバインドした操作を実行します。 操作が(通常または例外あり)を完了すると、マッピング内の各スコープ値は、現在のスレッドでバインドされていない値に戻されるか、以前バインドされた場合は以前の値に戻されます。スコープ値は、「構造化方式」で使用することを目的としています。
opによってStructuredTaskScopeが作成され、「閉じる」が作成されない場合、opを終了すると、動的スコープで作成された各StructuredTaskScopeの基礎となる構成がクローズされます。 すべての子スレッドがサブタスクを完了するまで、ブロックが必要になる場合があります。 クローズは、作成された順序とは逆の順序で実行されます。 クローズすると、StructureViolationExceptionがスローされます。- パラメータ:
op- 実行する操作- 関連項目:
-