atomic_compare_exchange_weak_explicit 函式

實作弱 式原子比較和交換的 作業。

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;

參數

  • Atom
    out 儲存型別 Ty值的 atomic 物件的指標。

  • Exp
    對型別 Ty值的指標。

  • Value
    型別 Ty 的值。

  • Order1
    第一個 memory_order 引數。

  • Order2
    接下來 memory_order 引數。 Order2 的值不可以是 memory_order_releasememory_order_acq_rel,也不會 Order1的值可能會強制。

傳回值

指示數值比較的結果 bool 。

備註

基本比較,並切換作業 會比較儲存在物件中所指向的值與的 Atom 指向 Exp的值。 如果值相等,作業會取代物件中儲存指向 Atom 和 Val 使用 read-modify-write 作業並套用記憶體順序條件約束。 Order1指定的值。 如果值不相等,則取代作業所指向的值與的 Exp 是儲存在物件中指向的 Atom 並套用記憶體順序條件約束。 Order2指定的值。

弱 式 原子比較,然後交換作業交換,當比較的值。 不過,在中,如果值不相等,作業不保證執行交換。

需求

不可部分完成的作業。標題:

命名空間: std

請參閱

參考

<atomic>

不可部分完成的結構