Jazyk

ThreadingTools.ApplyChangeOptimistically Metoda

Definice

Přetížení

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

Optimisticky provede nějakou transformaci hodnoty na základě některého pole a pokusí se ji použít zpět na pole, a to tak dlouho, kolikrát je to nutné, dokud žádné jiné vlákno nebude manipulovat se stejným polem.

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

Optimisticky provede nějakou transformaci hodnoty na základě některého pole a pokusí se ji použít zpět na pole, a to tak dlouho, kolikrát je to nutné, dokud žádné jiné vlákno nebude manipulovat se stejným polem.

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

Optimisticky provede nějakou transformaci hodnoty na základě některého pole a pokusí se ji použít zpět na pole, a to tak dlouho, kolikrát je to nutné, dokud žádné jiné vlákno nebude manipulovat se stejným polem.

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

Parametry typu

T

Typ dat, na který se má změna použít.

TArg

Typ argumentu předaného do argumentu applyChange.

Parametry

hotLocation
T

Pole, které může být manipulováno více vlákny.

applyChangeArgument
TArg

Argument, který se má applyChangepředat .

applyChange
Func<T,TArg,T>

Funkce, která přijímá jak nezměněnou hodnotu, tak applyChangeArgumentvrátí změněnou hodnotu.

Návraty

true pokud je hodnota umístění změněna použitím výsledku applyChange funkce; false pokud hodnota umístění zůstala stejná, protože poslední vyvolání applyChange vrácené existující hodnoty.

Poznámky

Toto přetížení použijte, pokud applyChange vyžaduje jednu položku, jak je běžné při aktualizaci neměnných typů kolekcí. Předáním položky jako operandu metody může volajícímu zabránit přidělení objektu uzavření pro každé volání.

Platí pro

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

Optimisticky provede nějakou transformaci hodnoty na základě některého pole a pokusí se ji použít zpět na pole, a to tak dlouho, kolikrát je to nutné, dokud žádné jiné vlákno nebude manipulovat se stejným polem.

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

Parametry typu

T

Typ dat.

Parametry

hotLocation
T

Pole, které může být manipulováno více vlákny.

applyChange
Func<T,T>

Funkce, která obdrží nezměněnou hodnotu a vrátí změněnou hodnotu.

Návraty

true pokud je hodnota umístění změněna použitím výsledku applyChange funkce; false pokud hodnota umístění zůstala stejná, protože poslední vyvolání applyChange vrácené existující hodnoty.

Platí pro