Share via


InterlockedExchange16 함수(winnt.h)

16비트 변수를 지정된 값으로 원자성 연산으로 설정합니다.

32비트 변수에서 작동하려면 InterlockedExchange 함수를 사용합니다.

64비트 변수에서 작동하려면 InterlockedExchange64 함수를 사용합니다.

구문

SHORT InterlockedExchange16(
  [in, out] SHORT volatile *Destination,
  [in]      SHORT          ExChange
);

매개 변수

[in, out] Destination

교환할 값에 대한 포인터입니다. 함수는 이 변수를 ExChange로 설정하고 이전 값을 반환합니다.

[in] ExChange

Destination이 가리키는 값과 교환할 값입니다.

반환 값

함수는 Destination 매개 변수의 초기 값을 반환합니다.

설명

연동 함수는 여러 스레드에서 공유하는 변수에 대한 액세스를 동기화하는 간단한 메커니즘을 제공합니다. 이 함수는 다른 연동 함수에 대한 호출과 관련하여 원자성입니다.

이 함수는 가능한 경우 컴파일러 내장 함수를 사용하여 구현됩니다. 자세한 내용은 WinBase.h 헤더 파일 및 _InterlockedExchange16.

이 함수는 메모리 작업이 순서대로 완료되도록 전체 메모리 장벽(또는 펜스)을 생성합니다.

Itanium 기반 시스템: 성능에 중요한 애플리케이션의 경우 InterlockedExchangeAcquire64 를 대신 사용합니다.

참고 이 함수는 Windows RT 기반 시스템에서 지원됩니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winnt.h(Windows.h 포함)

추가 정보

Interlocked 변수 액세스

InterlockedCompareExchange

InterlockedExchange

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchange8

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

InterlockedExchangeAdd

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

동기화 함수