Partilhar via


ThreadingTools.ApplyChangeOptimistically Método

Definição

Sobrecargas

ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)

Executa com otimismo alguma transformação de valor com base em algum campo e tenta aplicá-la de volta ao campo, repetindo quantas vezes forem necessárias até que nenhum outro thread esteja manipulando o mesmo campo.

ApplyChangeOptimistically<T>(T, Func<T,T>)

Executa com otimismo alguma transformação de valor com base em algum campo e tenta aplicá-la de volta ao campo, repetindo quantas vezes forem necessárias até que nenhum outro thread esteja manipulando o mesmo campo.

ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)

Executa com otimismo alguma transformação de valor com base em algum campo e tenta aplicá-la de volta ao campo, repetindo quantas vezes forem necessárias até que nenhum outro thread esteja manipulando o mesmo 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

O tipo de dados ao qual aplicar a alteração.

TArg

O tipo de argumento passado para o applyChange.

Parâmetros

hotLocation
T

O campo que pode ser manipulado por vários threads.

applyChangeArgument
TArg

Um argumento a ser passado para applyChange.

applyChange
Func<T,TArg,T>

Uma função que recebe o valor inalterado e applyChangeArgument, retorna o valor alterado.

Retornos

true se o valor do local foi alterado aplicando o resultado da função applyChange; false se o valor do local permaneceu o mesmo porque a última invocação de applyChange retornou o valor existente.

Comentários

Use essa sobrecarga quando applyChange exigir um único item, como é comum ao atualizar tipos de coleção imutáveis. Ao passar o item como um operando de método, o chamador pode ser capaz de evitar a alocação de um objeto de fechamento para cada chamada.

Aplica-se a

ApplyChangeOptimistically<T>(T, Func<T,T>)

Executa com otimismo alguma transformação de valor com base em algum campo e tenta aplicá-la de volta ao campo, repetindo quantas vezes forem necessárias até que nenhum outro thread esteja manipulando o mesmo 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

O tipo de dados.

Parâmetros

hotLocation
T

O campo que pode ser manipulado por vários threads.

applyChange
Func<T,T>

Uma função que recebe o valor inalterado e retorna o valor alterado.

Retornos

true se o valor do local foi alterado aplicando o resultado da função applyChange; false se o valor do local permaneceu o mesmo porque a última invocação de applyChange retornou o valor existente.

Aplica-se a