Compartir a través de


ThreadingTools.ApplyChangeOptimistically Método

Definición

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.

Se aplica a