ThreadingTools.ApplyChangeOptimistically Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>) |
Esegue in modo ottimistico una trasformazione del valore in base ad alcuni campi e tenta di applicarla nuovamente al campo, ritentando il numero di tentativi necessari fino a quando nessun altro thread non sta manipolando lo stesso campo. |
| ApplyChangeOptimistically<T>(T, Func<T,T>) |
Esegue in modo ottimistico una trasformazione del valore in base ad alcuni campi e tenta di applicarla nuovamente al campo, ritentando il numero di tentativi necessari fino a quando nessun altro thread non sta manipolando lo stesso campo. |
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)
Esegue in modo ottimistico una trasformazione del valore in base ad alcuni campi e tenta di applicarla nuovamente al campo, ritentando il numero di tentativi necessari fino a quando nessun altro thread non sta manipolando lo stesso campo.
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
Parametri di tipo
- T
Tipo di dati a cui applicare la modifica.
- TArg
Tipo di argomento passato all'oggetto applyChange.
Parametri
- hotLocation
- T
Campo che può essere modificato da più thread.
- applyChangeArgument
- TArg
Argomento da passare a applyChange.
- applyChange
- Func<T,TArg,T>
Funzione che riceve sia il valore non modificato che applyChangeArgument, quindi restituisce il valore modificato.
Valori restituiti
true se il valore della posizione viene modificato applicando il risultato della applyChange funzione; false se il valore della posizione è rimasto invariato perché l'ultima chiamata di applyChange ha restituito il valore esistente.
Commenti
Usare questo overload quando applyChange richiede un singolo elemento, come è comune quando si aggiornano tipi di raccolta non modificabili. Passando l'elemento come operando del metodo, il chiamante può evitare di allocare un oggetto di chiusura per ogni chiamata.
Si applica a
ApplyChangeOptimistically<T>(T, Func<T,T>)
Esegue in modo ottimistico una trasformazione del valore in base ad alcuni campi e tenta di applicarla nuovamente al campo, ritentando il numero di tentativi necessari fino a quando nessun altro thread non sta manipolando lo stesso campo.
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
Parametri di tipo
- T
Tipo di dati.
Parametri
- hotLocation
- T
Campo che può essere modificato da più thread.
- applyChange
- Func<T,T>
Funzione che riceve il valore non modificato e restituisce il valore modificato.
Valori restituiti
true se il valore della posizione viene modificato applicando il risultato della applyChange funzione; false se il valore della posizione è rimasto invariato perché l'ultima chiamata di applyChange ha restituito il valore esistente.