Share via


InterlockedAnd 함수(winnt.h)

지정된 LONG 값에 대해 원자성 AND 연산을 수행합니다.

구문

LONG InterlockedAnd(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

매개 변수

[in, out] Destination

첫 번째 피연산자를 가리키는 포인터입니다. 이 값은 작업의 결과로 바뀝니다.

[in] Value

두 번째 피연산자입니다.

반환 값

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

설명

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

Intel Itanium 기반 시스템 및 x64 아키텍처의 경우 이 함수는 컴파일러 내장 함수를 사용하여 구현됩니다. x86 아키텍처의 경우 _InterlockedAnd 컴파일러 내장 함수를 직접 사용합니다.

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

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

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

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 winnt.h(Windows.h 포함)

추가 정보

Interlocked 변수 액세스

InterlockedAnd16

InterlockedAnd16Acquire

InterlockedAnd16NoFence

InterlockedAnd16Release

InterlockedAnd64

InterlockedAnd64Acquire

InterlockedAnd64NoFence

InterlockedAnd64Release

InterlockedAnd8

InterlockedAnd8Acquire

InterlockedAnd8NoFence

InterlockedAnd8Release

InterlockedAndAcquire

InterlockedAndNoFence

InterlockedAndRelease

동기화 함수