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
Ty 형식의 값을 저장하는 atomic 개체에 대한 포인터입니다.Exp
이 Ty 형식의 값에 대한 포인터.Value
Ty 형식의 값입니다.Order1
첫 번째 memory_order 인수.Order2
두 번째 memory_order 인수입니다. 이 Order2 의 값은 memory_order_release 혹은 memory_order_acq_rel 할 수 없습니다, 이는 Order1 의 값보다 더 강력할 수 없습니다.
반환 값
비교 값의 결과를 나타내는 bool 입니다.
설명
이 원자 비교 및 교환 작업 는 Exp 로 지정된 값에 반하여 Atom 로 지정된 개체로 저장된 값을 비교합니다. 값이 같으면, atom 로 지정된 개체의 저장된 값은 read-modify-write 동작을 사용하거나 Order1 로 지정된 메모리 순서 제약 조건을 적용함으로써 Val 로 대체됩니다. 만약 값이 같지 않으면, 동작은 Atom 로 지정되고 Order2 로 지정된 메모리 순서 제약 조건으로 개체로 저장된 값과 함께 Exp 로 지정된 값을 대체합니다.
요구 사항
헤더: atomic
네임스페이스: std