ThreadingTools.ApplyChangeOptimistically Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>) |
Realiza de forma optimista alguna transformación de valor basada en algún campo e intenta aplicarla otra vez al campo, reintentándolo tantas veces como sea necesario hasta que ningún otro subproceso esté manipulando el mismo campo. |
ApplyChangeOptimistically<T>(T, Func<T,T>) |
Realiza de forma optimista alguna transformación de valor basada en algún campo e intenta aplicarla otra vez al campo, reintentándolo tantas veces como sea necesario hasta que ningún otro subproceso esté manipulando el mismo campo. |
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)
Realiza de forma optimista alguna transformación de valor basada en algún campo e intenta aplicarla otra vez al campo, reintentándolo tantas veces como sea necesario hasta que ningún otro subproceso esté manipulando el mismo 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
Parámetros de tipo
- T
Tipo de datos al que se va a aplicar el cambio.
- TArg
Tipo de argumento pasado a .applyChange
Parámetros
- hotLocation
- T
Campo que se puede manipular por varios subprocesos.
- applyChangeArgument
- TArg
Argumento que se va a pasar a applyChange
.
- applyChange
- Func<T,TArg,T>
Una función que recibe el valor sin cambios y applyChangeArgument
, a continuación, devuelve el valor cambiado.
Devoluciones
Es true
si se modifica el valor de la ubicación al aplicar el resultado de la función applyChange
; es false
si el valor de la ubicación es el mismo porque la última invocación de applyChange
ha devuelto el valor existente.
Comentarios
Use esta sobrecarga cuando applyChange
requiera un solo elemento, como es habitual al actualizar los tipos de colección inmutables. Al pasar el elemento como operando de método, el autor de la llamada puede evitar asignar un objeto de cierre para cada llamada.
Se aplica a
ApplyChangeOptimistically<T>(T, Func<T,T>)
Realiza de forma optimista alguna transformación de valor basada en algún campo e intenta aplicarla otra vez al campo, reintentándolo tantas veces como sea necesario hasta que ningún otro subproceso esté manipulando el mismo 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
Parámetros de tipo
- T
El tipo de datos.
Parámetros
- hotLocation
- T
Campo que se puede manipular por varios subprocesos.
- applyChange
- Func<T,T>
Función que recibe el valor sin cambios y devuelve el valor cambiado.
Devoluciones
Es true
si se modifica el valor de la ubicación al aplicar el resultado de la función applyChange
; es false
si el valor de la ubicación es el mismo porque la última invocación de applyChange
ha devuelto el valor existente.