ThreadingTools.ApplyChangeOptimistically Methode

Definition

Überlädt

ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)

Führt optimistisch einige Werttransformation auf Grundlage eines Felds aus, und versucht es so oft wie nötig wieder auf das Feld anzuwenden, bis kein anderer Thread dasselbe Feld bearbeitet.

ApplyChangeOptimistically<T>(T, Func<T,T>)

Führt optimistisch einige Werttransformation auf Grundlage eines Felds aus, und versucht es so oft wie nötig wieder auf das Feld anzuwenden, bis kein anderer Thread dasselbe Feld bearbeitet.

ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)

Führt optimistisch einige Werttransformation auf Grundlage eines Felds aus, und versucht es so oft wie nötig wieder auf das Feld anzuwenden, bis kein anderer Thread dasselbe Feld bearbeitet.

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

Typparameter

T

Der Typ der Daten, auf die die Änderung angewendet werden soll.

TArg

Der Argumenttyp applyChange , der an das-Argument übermittelt wird

Parameter

hotLocation
T

Das Feld, das von mehreren Threads bearbeitet wird.

applyChangeArgument
TArg

Ein Argument, das an übergeben werden soll applyChange .

applyChange
Func<T,TArg,T>

Eine Funktion, die den unveränderten Wert und empfängt und applyChangeArgument dann den geänderten Wert zurückgibt.

Gibt zurück

Boolean

true , wenn der Wert des Speicher Orts durch Anwenden des Ergebnisses der Funktion geändert wird applyChange . false , wenn der Wert des Speicher Orts unverändert geblieben ist, weil der letzte Aufruf von applyChange den vorhandenen Wert zurückgegeben hat.

Hinweise

Verwenden Sie diese Überladung applyChange , wenn ein einzelnes Element erfordert, wie es bei der Aktualisierung unveränderlicher Auflistungs Typen üblich ist. Wenn das Element als Methoden Operand übergeben wird, kann der Aufrufer möglicherweise vermeiden, ein Closure-Objekt für jeden Aufruf zuzuordnen.

Gilt für

ApplyChangeOptimistically<T>(T, Func<T,T>)

Führt optimistisch einige Werttransformation auf Grundlage eines Felds aus, und versucht es so oft wie nötig wieder auf das Feld anzuwenden, bis kein anderer Thread dasselbe Feld bearbeitet.

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

Typparameter

T

Die Art der Daten.

Parameter

hotLocation
T

Das Feld, das von mehreren Threads bearbeitet wird.

applyChange
Func<T,T>

Eine Funktion, die den unveränderten Wert erhält und den geänderten Wert zurückgibt.

Gibt zurück

Boolean

true , wenn der Wert des Speicher Orts durch Anwenden des Ergebnisses der Funktion geändert wird applyChange . false , wenn der Wert des Speicher Orts unverändert geblieben ist, weil der letzte Aufruf von applyChange den vorhandenen Wert zurückgegeben hat.

Gilt für