Lenguaje

ThreadingTools.ApplyChangeOptimistically Método

Definición

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.

Se aplica a