执行按位XOR运算在atomic对象存储值并且现有值的 and 。 复制 template <class _Ty> inline Ty atomic_fetch_and_explicit( volatile atomic<Ty>* Atom, Ty Value, memory_order Order); _NOEXCEPT template <class _Ty> inline Ty atomic_fetch_and_explicit( volatile atomic<Ty>* Atom, Ty Value, memory...
std::atomic_fetch_and_explicit template (integral) (1) template <class T> T atomic_fetch_and_explicit (volatile atomic<T>* obj, T val, memory_order sync) noexcept; template <class T> T atomic_fetch_and_explicit (atomic<T>* obj, T val, memory_order sync) noexcept; ...
std::atomic_fetch_and(&m_signaled, false)) { std::this_thread::sleep_for(std::chrono::milliseconds(10)); } } void put() { std::atomic_fetch_or(&m_signaled, true); } }; class ThreadedCounter { static const int N = 100; static const int REPORT_INTERVAL = 10; int m_count; ...
std::atomic_fetch_sub std::atomic_fetch_sub_explicit std::atomic_fetch_xor std::atomic_fetch_xor_explicit std::atomic_flag std::atomic_flag::atomic_flag std::atomic_flag::clear std::atomic_flag::test_and_set std::atomic_flag_clear std::atomic_flag_clear_explicit std::atomic_flag_test...
atomic_fetch_sub_explicit 将原子对象的封装值减 val,并返回原子对象的旧值(适用于整形和指针类型的 std::atomic 特化版本),整个过程是原子的。 该函数等价于 std::atomic 对象的atomic::fetch_sub成员函数。sync 参数指定内存序: atomic_fetch_and
重载(2) 在参与重载决议且 std::atomic<T>::is_always_lock_free 是false 时被弃用。 (C++20 起)参数arg - 逐位与的另一实参 order - 强制的内存定序约束 返回值*this 的修改顺序中,紧接此函数生效之前的值。 参阅atomic_fetch_andatomic_fetch_and_explicit (C++11)(C++11) 将原子对象替换为...
atomic_fetch_sub_explicit 将原子对象的封装值减 val,并返回原子对象的旧值(适用于整形和指针类型的 std::atomic 特化版本),整个过程是原子的。 该函数等价于 std::atomic 对象的atomic::fetch_sub成员函数。sync 参数指定内存序: atomic_fetch_and
atomic_fetch_and 函数执行读取-修改-写入操作,使用 memory_order.memory_order_seq_cst 约束将 Atom 的存储值替换为 Value 的按位 & 和存储在 Atom 中的当前值。atomic_fetch_and_explicit对某个值和存储在 atomic 对象中的一个现有值执行按位 &。
atomic_fetch_and 函数执行读取-修改-写入操作,使用 memory_order.memory_order_seq_cst 约束将 Atom 的存储值替换为 Value 的按位 & 和存储在 Atom 中的当前值。atomic_fetch_and_explicit对某个值和存储在 atomic 对象中的一个现有值执行按位 &。
T atomic_fetch_or( volatile std::atomic<T>* obj, typename std::atomic<T>::value_type arg ) noexcept; (2) (C++11 起) template< class T > T atomic_fetch_or_explicit( std::atomic<T>* obj, typename std::atomic<T>::value_type arg, std::memory_order order) noexcept; template< cl...