Freigeben über


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 Datentyp, auf den die Änderung angewendet werden soll.

TArg

Der Typ des Arguments, das an den applyChangeübergeben 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 sowohl den unveränderten Wert als applyChangeArgumentauch empfängt, und gibt dann den geänderten Wert zurück.

Gibt zurück

true, wenn der Wert des Speicherorts durch Anwenden des Ergebnisses der Funktion applyChange geändert wird. false, wenn der Wert des Speicherorts derselbe bleibt, da der letzte Aufruf von applyChange den vorhandenen Wert zurückgegeben hat.

Hinweise

Verwenden Sie diese Überladung, wenn applyChange ein einzelnes Element erforderlich ist, wie es beim Aktualisieren unveränderlicher Sammlungstypen üblich ist. Durch Übergeben des Elements als Methodenopernd kann der Aufrufer möglicherweise vermeiden, dass für jeden Aufruf ein Verschlussobjekt zugewiesen wird.

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

true, wenn der Wert des Speicherorts durch Anwenden des Ergebnisses der Funktion applyChange geändert wird. false, wenn der Wert des Speicherorts derselbe bleibt, da der letzte Aufruf von applyChange den vorhandenen Wert zurückgegeben hat.

Gilt für: