다음을 통해 공유


atomic_compare_exchange_strong_explicit 함수

수행 된 원자 비교 및 교환 작업.

template <class _Ty>
inline bool atomic_compare_exchange_strong_explicit(
   volatile atomic<Ty> *Atom,
   Ty *Exp,
   Ty Value,
   memory_order Order1,
   memory_order Order2
) _NOEXCEPT;

template <class Ty>
inline bool atomic_compare_exchange_strong_explicit(
   atomic<Ty> *Atom,
   Ty *Exp,
   Ty Value,
   memory_order Order1,
   memory_order Order2
) _NOEXCEPT;

매개 변수

  • Atom
    에 대 한 포인터는 atomic 형식의 값을 저장 하는 개체가 Ty.

  • Exp
    포인터 형식의 값에 Ty.

  • Value
    Ty 형식의 값입니다.

  • Order1
    첫 번째 memory_order 인수.

  • Order2
    두 번째 memory_order 인수.값은 Order2 수 없습니다 memory_order_release 또는 memory_order_acq_rel, 값 보다 더 강한 수 없습니다 Order1.

반환 값

A bool 값 비교 결과를 나타냅니다.

설명

원자 비교 및 교환 작업 에 의해 가리키는 개체에 저장 된 값과 비교 Atom 에 의해 가리키는 값에 대해 Exp.값이 같으면는에 의해 가리키는 개체에 저장 된 값 atom 대체 됩니다 Val 를 사용 하 여는 read-modify-write 작업 및 메모리 적용 순서에 지정 된 제약 조건 Order1.값이 동일 하지 않은 경우, 작업에 의해 가리키는 값 대체 Exp 가 가리키는 것을 개체에 저장 된 값을 갖는 Atom 에서 지정 된 메모리 순서 제약 조건을 적용 하 고 Order2.

요구 사항

헤더: 원자

네임 스페이스: std

참고 항목

참조

<atomic>

원자 구조