Share via


InterlockedOr 함수(winnt.h)

지정된 LONG 값에 대해 원자성 OR 연산을 수행합니다. 함수는 둘 이상의 스레드가 동일한 변수를 동시에 사용하지 못하도록 방지합니다.

구문

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

매개 변수

[in, out] Destination

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

[in] Value

두 번째 피연산자입니다.

반환 값

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

설명

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

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

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

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

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

요구 사항

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

추가 정보

인터로 잠긴 변수 액세스

InterlockedOr16

InterlockedOr16Acquire

InterlockedOr16NoFence

InterlockedOr16Release

InterlockedOr64

InterlockedOr64Acquire

InterlockedOr64NoFence

InterlockedOr64Release

InterlockedOr8

InterlockedOr8Acquire

InterlockedOr8NoFence

InterlockedOr8Release

InterlockedOrAcquire

InterlockedOrNoFence

InterlockedOrRelease

동기화 함수