InterlockedExchange 함수(winnt.h)
32비트 변수를 지정된 값으로 원자성 연산으로 설정합니다.
포인터 변수에서 작동하려면 InterlockedExchangePointer 함수를 사용합니다.
16비트 변수에서 작동하려면 InterlockedExchange16 함수를 사용합니다.
64비트 변수에서 작동하려면 InterlockedExchange64 함수를 사용합니다.
통사론
LONG InterlockedExchange(
[in, out] LONG volatile *Target,
[in] LONG Value
);
매개 변수
[in, out] Target
교환할 값에 대한 포인터입니다. 이 함수는 이 변수를 Value설정하고 이전 값을 반환합니다.
[in] Value
Target가리키는 값과 교환할 값입니다.
반환 값
이 함수는 Target 매개 변수의 초기 값을 반환합니다.
발언
연동 함수는 여러 스레드에서 공유하는 변수에 대한 액세스를 동기화하는 간단한 메커니즘을 제공합니다. 이 함수는 다른 연동 함수에 대한 호출과 관련하여 원자성입니다.
이 함수는 가능한 경우 컴파일러 내장 함수를 사용하여 구현됩니다. 자세한 내용은 WinBase.h 헤더 파일 및 _InterlockedExchange참조하세요.
이 함수는 메모리 작업이 순서대로 완료되도록 전체 메모리 장벽(또는 펜스)을 생성합니다.
itanium 기반 시스템 : 성능에 중요한 애플리케이션의 경우 InterlockedExchangeAcquire 대신 사용합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | winnt.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |
참고 항목
연동 변수 액세스
InterlockedCompareExchange
InterlockedExchange
InterlockedExchange16
InterlockedExchange64
InterlockedExchange8
InterlockedExchangeAdd
interlockedExchangeAdd64
">InterlockedExchangeAddAcquire64
interlockedExchangeAddNoFence
InterlockedExchangeAddNoFence64
href="/previous-versions/windows/desktop/legacy/ms683605(v=vs.85)"를 <. InterlockedExchangeAddRelease
InterlockedExchangeAddRelease64
InterlockedExchangeNoFence
InterlockedExchangePointer
interlockedExchangePointerAcquire
InterlockedExchangePointerNoFence
InterlockedExchangeSubtract
동기화 함수