ThreadingTools.ApplyChangeOptimistically Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.