다음을 통해 공유


ThreadingTools.ApplyChangeOptimistically 메서드

정의

오버로드

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를 모두 수신한 다음 변경된 값을 반환하는 함수입니다.

반환

applyChange 함수의 결과를 적용하여 해당 위치 값이 변경되면 true이고, applyChange의 마지막 호출이 기존 값을 반환하기 때문에 해당 위치 값이 동일하게 유지되면 false입니다.

설명

변경할 수 없는 컬렉션 형식을 업데이트할 때 일반적인 것처럼 단일 항목이 필요한 경우 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>

변경되지 않은 값을 수신하여 변경된 값을 반환하는 함수입니다.

반환

applyChange 함수의 결과를 적용하여 해당 위치 값이 변경되면 true이고, applyChange의 마지막 호출이 기존 값을 반환하기 때문에 해당 위치 값이 동일하게 유지되면 false입니다.

적용 대상