Udostępnij za pośrednictwem


Funkcja atomic_compare_exchange_weak_explicit

Wykonuje słabe porównaj Atomowej i wymiany operacji.

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;

Parametry

  • Atom
    Wskaźnik do atomic obiekt, który przechowuje wartości typu Ty.

  • Exp
    Wskaźnik do wartości typu Ty.

  • Value
    Wartość typu Ty.

  • Order1
    Pierwszy memory_order argumentu.

  • Order2
    Drugi memory_order argumentu.Wartość Order2 nie może być memory_order_release lub memory_order_acq_rel, ani nie może być silniejszy niż wartość Order1.

Wartość zwracana

A bool wskazuje, że wynik porównania wartości.

Uwagi

Atomowej operacji porównaj i wymiany porównuje wartość przechowywaną w obiekt, który jest wskazywana przez Atom z wartości wskazywanej przez Exp.Jeśli wartości są równe, operacja zastępuje wartość przechowywaną w obiekt, który jest wskazywana przez Atom z Val za pomocą read-modify-write operacji i stosowania ograniczenia pamięci zamówienia, które są określone przez Order1.Jeśli wartości nie są równe, operacja zastępuje wartości wskazywanej przez Exp z wartością przechowywaną w obiekt, który jest wskazywana przez Atom i stosuje ograniczenia pamięci zamówienia, które są określone przez Order2.

A słabe atomowej operacji porównaj i wymiany wykonuje wymiany porównaniu wartości są równe.Jednakże jeśli wartości nie są równe, operacja nie jest gwarantowane przeprowadzić wymianę.

Wymagania

Nagłówek: atomic

Obszar nazw: std

Zobacz też

Informacje

<atomic>

Struktura Atomowej