Sdílet prostřednictvím


ThreadingTools.ApplyChangeOptimistically Metoda

Definice

Přetížení

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

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

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

Optimisticky provede určitou transformaci hodnoty na základě některého pole a pokusí se ji použít zpět na pole a opakovat to tolikrát, 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 určitou transformaci hodnoty na základě některého pole a pokusí se ji použít zpět na pole a opakovat to tolikrát, 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ý do .applyChange

Parametry

hotLocation
T

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

applyChangeArgument
TArg

Argument, který se má předat do applyChange.

applyChange
Func<T,TArg,T>

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

Návraty

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

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í zabránit přidělení objektu uzavření pro každé volání.

Platí pro

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

Optimisticky provede určitou transformaci hodnoty na základě některého pole a pokusí se ji použít zpět na pole a opakovat to tolikrát, 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 se hodnota umístění změní použitím výsledku applyChange funkce; false pokud hodnota umístění zůstala stejná, protože poslední vyvolání applyChange funkce vrátilo existující hodnotu.

Platí pro