ThreadingTools.ApplyChangeOptimistically メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>) |
一部のフィールドに基づいて値の変換をオプティミスティック実行し、それをフィールドに適用し戻すように試行します。他のスレッドが同じフィールドを操作していていない状態になるまで必要なだけ再試行します。 |
ApplyChangeOptimistically<T>(T, Func<T,T>) |
一部のフィールドに基づいて値の変換をオプティミスティック実行し、それをフィールドに適用し戻すように試行します。他のスレッドが同じフィールドを操作していていない状態になるまで必要なだけ再試行します。 |
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)
一部のフィールドに基づいて値の変換をオプティミスティック実行し、それをフィールドに適用し戻すように試行します。他のスレッドが同じフィールドを操作していていない状態になるまで必要なだけ再試行します。
public:
generic <typename T, typename TArg>
where T : class static bool ApplyChangeOptimistically(T % hotLocation, TArg applyChangeArgument, Func<T, TArg, T> ^ applyChange);
public static bool ApplyChangeOptimistically<T,TArg> (ref T hotLocation, TArg applyChangeArgument, Func<T,TArg,T> applyChange) where T : class;
static member ApplyChangeOptimistically : 'T * 'Arg * Func<'T, 'Arg, 'T (requires 'T : null and 'T : null)> -> bool (requires 'T : null)
Public Function ApplyChangeOptimistically(Of T As Class, TArg As Class) (ByRef hotLocation As T, applyChangeArgument As TArg, applyChange As Func(Of T, TArg, T)) As Boolean
型パラメーター
- T
変更を適用するデータの種類。
- TArg
に渡される引数の applyChange
型。
パラメーター
- hotLocation
- T
複数のスレッドによって処理される可能性のあるフィールド。
- applyChangeArgument
- TArg
に渡す applyChange
引数。
- applyChange
- Func<T,TArg,T>
変更されていない値と applyChangeArgument
の両方を受け取り、変更された値を返す関数。
戻り値
applyChange
関数の結果を適用することにより場所の値が変更された場合は true
。applyChange
の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は false
。
注釈
変更できないコレクション型を更新する場合 applyChange
と同様に、1 つの項目が必要な場合は、このオーバーロードを使用します。 アイテムをメソッド オペランドとして渡すことで、呼び出し元は呼び出しごとにクロージャ オブジェクトを割り当てることを回避できる場合があります。
適用対象
ApplyChangeOptimistically<T>(T, Func<T,T>)
一部のフィールドに基づいて値の変換をオプティミスティック実行し、それをフィールドに適用し戻すように試行します。他のスレッドが同じフィールドを操作していていない状態になるまで必要なだけ再試行します。
public:
generic <typename T>
where T : class static bool ApplyChangeOptimistically(T % hotLocation, Func<T, T> ^ applyChange);
public static bool ApplyChangeOptimistically<T> (ref T hotLocation, Func<T,T> applyChange) where T : class;
static member ApplyChangeOptimistically : 'T * Func<'T, 'T (requires 'T : null and 'T : null)> -> bool (requires 'T : null)
Public Function ApplyChangeOptimistically(Of T As Class) (ByRef hotLocation As T, applyChange As Func(Of T, T)) As Boolean
型パラメーター
- T
データの型
パラメーター
- hotLocation
- T
複数のスレッドによって処理される可能性のあるフィールド。
- applyChange
- Func<T,T>
変更されていない値を受け取り、変更された値を返す関数。
戻り値
applyChange
関数の結果を適用することにより場所の値が変更された場合は true
。applyChange
の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は false
。