다음을 통해 공유


atomic_compare_exchange_weak_explicit 함수

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

template <class Ty>
inline bool atomic_compare_exchange_weak_explicit(
   volatile atomic<Ty> *Atom,
   Ty *Exp,
   Ty Value,
   memory_order Order1,
   memory_order Order2
) _NOEXCEPT;
template <class Ty>
inline bool atomic_compare_exchange_weak_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.

A 약한 원자 비교 및 교환 작업 비교 값이 같은 경우 교환을 수행 합니다.그러나 값이 같지 않으면 작업 교환을 수행할 않을 수도 있습니다.

요구 사항

헤더: 원자

네임 스페이스: std

참고 항목

참조

<atomic>

원자 구조