Aracılığıyla paylaş


atomic_compare_exchange_strong_explicit işlevi

Gerçekleştiren bir Atomik karşılaştırma ve exchange işlem.

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;

Parametreler

  • Atom
    İşaretçi bir atomic nesne türünün değerini saklayan Ty.

  • Exp
    Bir işaretçi türünde bir deðer Ty.

  • Value
    Bir değer türü Ty.

  • Order1
    İlk memory_order bağımsız değişkeni.

  • Order2
    İkinci memory_order bağımsız değişkeni.Değeri Order2 olamaz memory_order_release veya memory_order_acq_rel, değeri daha güçlü olamaz Order1.

Dönüş Değeri

A bool değer karşılaştırması sonucunu gösterir.

Notlar

Bir Atomik karşılaştırma ve exchange işlem olarak tarafından verilir nesnesinde saklanan değeri karşılaştırır Atom karşı olarak tarafından verilir değeri Exp.Değerleri aynıysa olarak tarafından verilir nesnesinde saklanan değeri atom ile değiştirilir Val kullanarak bir read-modify-write işlem ve bellek uygulama tarafından belirtilen kısıtlamalar sipariş Order1.Değerleri eşit değilse, işlem için tarafından verilir değeri yerini alır Exp olarak tarafından verilir nesnesinde saklanan değeri Atom ve tarafından belirtilen bellek sipariş kısıtlamalar geçerlidir Order2.

Gereksinimler

Başlık: Atomik

Namespace: std

Ayrıca bkz.

Başvuru

<atomic>

Atomik yapısı