Aracılığıyla paylaş


atomic_compare_exchange_weak_explicit işlevi

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

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;

Parametreler

  • Atom
    Bir iş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
    Türünde bir deðer 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, ne de değeri daha güçlü olması Order1.

Dönüş Değeri

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

Notlar

Bir Atomik karşılaştırma ve değişim işlemi tarafından verilir nesnesinde saklanan değeri karşılaştırır Atom tarafından verilir değeri olan Exp.Değerleri aynıysa, işlem tarafından verilir nesnesinde saklanan değer değiştirir Atom ile Val kullanarak bir read-modify-write işlem ve uygulama tarafından belirtilen sırada bellek kısıtlamaları Order1.Değerleri eşit değilse, işlem tarafından verilir değeri değiştirir Exp tarafından verilir nesnesinde saklanan değeri olan Atom ve tarafından belirtilen sırada bellek kısıtlamaları uygular Order2.

A zayıf karşılaştırıldığında değerleri aynıysa alışverişte Atomik karşılaştırma ve exchange işlemi gerçekleştirir.Değerleri eşit değilse, ancak işlem değişimi gerçekleştirmek için garanti edilmez.

Gereksinimler

Başlık: Atomik

Namespace: std

Ayrıca bkz.

Başvuru

<atomic>

Atomik yapısı