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
| Nombre | Description |
|---|---|
| ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>) |
Realiza optimistamente alguna transformación de valor en función de algún campo e intenta volver a aplicarla al campo, reintentando tantas veces como sea necesario hasta que ningún otro subproceso esté manipulando el mismo campo. |
| ApplyChangeOptimistically<T>(T, Func<T,T>) |
Realiza optimistamente alguna transformación de valor en función de algún campo e intenta volver a aplicarla al campo, reintentando 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 optimistamente alguna transformación de valor en función de algún campo e intenta volver a aplicarla al campo, reintentando 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 varios subprocesos pueden manipular.
- 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
true si se cambia el valor de la ubicación aplicando el resultado de la applyChange función; false si el valor de la ubicación sigue siendo el mismo porque la última invocación de applyChange devolvió el valor existente.
Comentarios
Use esta sobrecarga cuando applyChange requiera un solo elemento, como es habitual al actualizar 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 optimistamente alguna transformación de valor en función de algún campo e intenta volver a aplicarla al campo, reintentando 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 varios subprocesos pueden manipular.
- applyChange
- Func<T,T>
Función que recibe el valor sin cambios y devuelve el valor cambiado.
Devoluciones
true si se cambia el valor de la ubicación aplicando el resultado de la applyChange función; false si el valor de la ubicación sigue siendo el mismo porque la última invocación de applyChange devolvió el valor existente.