次の方法で共有


ThreadingTools.ApplyChangeOptimistically メソッド

定義

オーバーロード

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 関数の結果を適用することにより場所の値が変更された場合は trueapplyChange の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は 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 関数の結果を適用することにより場所の値が変更された場合は trueapplyChange の最後の呼び出しで既存の値が返されたために場所の値が同じままだった場合は false

適用対象