ThreadingTools.ApplyChangeOptimistically Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.