ThreadingTools.ApplyChangeOptimistically Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.