ThreadingTools.ApplyChangeOptimistically Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>) |
Optymistycznie wykonuje pewne przekształcenia wartości na podstawie pewnego pola i próbuje zastosować je z powrotem do pola, ponawiając próbę tyle razy, ile to konieczne, dopóki żaden inny wątek nie manipuluje tym samym polem. |
ApplyChangeOptimistically<T>(T, Func<T,T>) |
Optymistycznie wykonuje pewne przekształcenia wartości na podstawie pewnego pola i próbuje zastosować je z powrotem do pola, ponawiając próbę tyle razy, ile to konieczne, dopóki żaden inny wątek nie manipuluje tym samym polem. |
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)
Optymistycznie wykonuje pewne przekształcenia wartości na podstawie pewnego pola i próbuje zastosować je z powrotem do pola, ponawiając próbę tyle razy, ile to konieczne, dopóki żaden inny wątek nie manipuluje tym samym 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 danych do zastosowania zmiany.
- TArg
Typ argumentu przekazanego do klasy applyChange
.
Parametry
- hotLocation
- T
Pole, które może być manipulowane przez wiele wątków.
- applyChangeArgument
- TArg
Argument do przekazania do metody applyChange
.
- applyChange
- Func<T,TArg,T>
Funkcja, która odbiera zarówno niezmienioną wartość, jak i applyChangeArgument
, a następnie zwraca zmienioną wartość.
Zwraca
true
jeśli wartość lokalizacji zostanie zmieniona przez zastosowanie wyniku applyChange
funkcji, false
jeśli wartość lokalizacji pozostała taka sama, ponieważ ostatnie wywołanie applyChange
zwróciło istniejącą wartość.
Uwagi
Użyj tego przeciążenia, gdy applyChange
wymaga jednego elementu, co jest typowe podczas aktualizowania niezmiennych typów kolekcji. Przekazując element jako operand metody, obiekt wywołujący może być w stanie uniknąć przydzielania obiektu zamknięcia dla każdego wywołania.
Dotyczy
ApplyChangeOptimistically<T>(T, Func<T,T>)
Optymistycznie wykonuje pewne przekształcenia wartości na podstawie pewnego pola i próbuje zastosować je z powrotem do pola, ponawiając próbę tyle razy, ile to konieczne, dopóki żaden inny wątek nie manipuluje tym samym 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 danych.
Parametry
- hotLocation
- T
Pole, które może być manipulowane przez wiele wątków.
- applyChange
- Func<T,T>
Funkcja, która odbiera niezmienioną wartość i zwraca zmienioną wartość.
Zwraca
true
jeśli wartość lokalizacji zostanie zmieniona przez zastosowanie wyniku applyChange
funkcji, false
jeśli wartość lokalizacji pozostała taka sama, ponieważ ostatnie wywołanie applyChange
zwróciło istniejącą wartość.