Partager via


ThreadingTools.ApplyChangeOptimistically Méthode

Définition

Surcharges

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

Exécute de façon optimiste une transformation de valeur selon certains champs et essaie de l'appliquer au champ ensuite, en faisant autant de tentatives que nécessaire jusqu'à ce qu'aucun autre thread ne manipule le même champ.

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

Exécute de façon optimiste une transformation de valeur selon certains champs et essaie de l'appliquer au champ ensuite, en faisant autant de tentatives que nécessaire jusqu'à ce qu'aucun autre thread ne manipule le même champ.

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

Exécute de façon optimiste une transformation de valeur selon certains champs et essaie de l'appliquer au champ ensuite, en faisant autant de tentatives que nécessaire jusqu'à ce qu'aucun autre thread ne manipule le même champ.

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

Paramètres de type

T

Type de données auquel appliquer la modification.

TArg

Type d’argument passé à .applyChange

Paramètres

hotLocation
T

Le champ qui peut être manipulé par plusieurs threads.

applyChangeArgument
TArg

Argument à passer à applyChange.

applyChange
Func<T,TArg,T>

Fonction qui reçoit à la fois la valeur inchangée et applyChangeArgument, retourne ensuite la valeur modifiée.

Retours

true si la valeur de l’emplacement est modifiée en appliquant le résultat de la fonction applyChange ; false si la valeur de l’emplacement reste la même car le dernier appel de applyChange a retourné la valeur existante.

Remarques

Utilisez cette surcharge lorsque applyChange nécessite un seul élément, comme c’est courant lors de la mise à jour des types de collection immuables. En passant l’élément en tant qu’opérande de méthode, l’appelant peut être en mesure d’éviter d’allouer un objet de fermeture pour chaque appel.

S’applique à

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

Exécute de façon optimiste une transformation de valeur selon certains champs et essaie de l'appliquer au champ ensuite, en faisant autant de tentatives que nécessaire jusqu'à ce qu'aucun autre thread ne manipule le même champ.

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

Paramètres de type

T

Le type des données.

Paramètres

hotLocation
T

Le champ qui peut être manipulé par plusieurs threads.

applyChange
Func<T,T>

Fonction qui reçoit la valeur inchangée et retourne la valeur modifiée.

Retours

true si la valeur de l’emplacement est modifiée en appliquant le résultat de la fonction applyChange ; false si la valeur de l’emplacement reste la même car le dernier appel de applyChange a retourné la valeur existante.

S’applique à