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í
| 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.