語言

ThreadingTools.ApplyChangeOptimistically 方法

定義

多載

名稱 Description
ApplyChangeOptimistically<T,TArg>(T, TArg, Func<T,TArg,T>)

樂觀地根據某個欄位進行值轉換,並嘗試將其套用回該欄位,重複嘗試直到沒有其他執行緒在操作同一欄位為止。

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

樂觀地根據某個欄位進行值轉換,並嘗試將其套用回該欄位,重複嘗試直到沒有其他執行緒在操作同一欄位為止。

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

樂觀地根據某個欄位進行值轉換,並嘗試將其套用回該欄位,重複嘗試直到沒有其他執行緒在操作同一欄位為止。

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

類型參數

T

要套用變更的資料類型。

TArg

傳入 applyChange的論證類型。

參數

hotLocation
T

這個場可以被多個執行緒操控。

applyChangeArgument
TArg

一個可以傳給 applyChange的論點。

applyChange
Func<T,TArg,T>

一個同時接收未變值與 applyChangeArgument的函數,然後返回變更後的值。

傳回

true 如果該位置的值是透過套用函式的結果 applyChange 而改變; false 如果位置的值因為最後一次呼叫 applyChange 回傳了現有的值而保持不變。

備註

當 applyChange 需要單一項目時使用此超載,如更新不可變集合類型時常見的情況。 透過將該項目作為方法運算元傳遞,呼叫者可能能避免為每個呼叫分配一個閉包物件。

適用於

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

樂觀地根據某個欄位進行值轉換,並嘗試將其套用回該欄位,重複嘗試直到沒有其他執行緒在操作同一欄位為止。

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

類型參數

T

資料的類型。

參數

hotLocation
T

這個場可以被多個執行緒操控。

applyChange
Func<T,T>

一個接收未變值並回傳變更值的函式。

傳回

true 如果該位置的值是透過套用函式的結果 applyChange 而改變; false 如果位置的值因為最後一次呼叫 applyChange 回傳了現有的值而保持不變。

適用於