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