标准库头文件:atomic

1.常用变量

atomic    //原子类模板及其布尔型,整型和指针类型的特化
atomic_ref    //提供对非原子对象的原子操作
atomic_flag    //锁的布尔原子类型
std::atomic_bool	//std::atomic<bool>
std::atomic_char	//std::atomic<char>
std::atomic_schar	//std::atomic<signed char>
std::atomic_uchar	//std::atomic<unsigned char>
std::atomic_short	//std::atomic<short>
std::atomic_ushort	//std::atomic<unsigned short>
std::atomic_int	    //std::atomic<int>
std::atomic_uint	//std::atomic<unsigned int>
std::atomic_long	//std::atomic<long>
std::atomic_ulong	//std::atomic<unsigned long>
std::atomic_llong	//std::atomic<long long>
std::atomic_ullong	//std::atomic<unsigned long long>
std::atomic_char8_t 	//std::atomic<char8_t>
std::atomic_char16_t	//std::atomic<char16_t>
std::atomic_char32_t	//std::atomic<char32_t>
std::atomic_wchar_t	//std::atomic<wchar_t>
std::atomic_int8_t	//std::atomic<std::int8_t>
std::atomic_uint8_t	//std::atomic<std::uint8_t>
std::atomic_int16_t	//std::atomic<std::int16_t>
std::atomic_uint16_t	//std::atomic<std::uint16_t>
std::atomic_int32_t	//std::atomic<std::int32_t>
std::atomic_uint32_t	//std::atomic<std::uint32_t>
std::atomic_int64_t	//std::atomic<std::int64_t>
std::atomic_uint64_t	//std::atomic<std::uint64_t>
std::atomic_int_least8_t	//std::atomic<int_least8_t>
std::atomic_uint_least8_t	//std::atomic<uint_least8_t>
std::atomic_int_least16_t	//std::atomic<int_least16_t>
std::atomic_uint_least16_t	//std::atomic<uint_least16_t>
std::atomic_int_least32_t	//std::atomic<int_least32_t>
std::atomic_uint_least32_t	//std::atomic<uint_least32_t>
std::atomic_int_least64_t	//std::atomic<int_least64_t>
std::atomic_uint_least64_t	//std::atomic<uint_least64_t>
std::atomic_int_fast8_t	//std::atomic<int_fast8_t>
std::atomic_uint_fast8_t	//std::atomic<uint_fast8_t>
std::atomic_int_fast16_t	//std::atomic<int_fast16_t>
std::atomic_uint_fast16_t	//std::atomic<uint_fast16_t>
std::atomic_int_fast32_t	//std::atomic<int_fast32_t>
std::atomic_uint_fast32_t	//std::atomic<uint_fast32_t>
std::atomic_int_fast64_t	//std::atomic<int_fast64_t>
std::atomic_uint_fast64_t	//std::atomic<uint_fast64_t>
std::atomic_intptr_t	//std::atomic<intptr_t>
std::atomic_uintptr_t	//std::atomic<uintptr_t>
std::atomic_size_t	//std::atomic<size_t>
std::atomic_ptrdiff_t	//std::atomic<ptrdiff_t>
std::atomic_intmax_t	//std::atomic<intmax_t>
std::atomic_uintmax_t	//std::atomic<uintmax_t>

2.常用操作

void store (T val, memory_order sync = memory_order_seq_cst) //用val替换原先包含的值
T load (memory_order sync = memory_order_seq_cst) //读取包含的值
bool is_lock_free() //指示对象是否是无锁的,无锁时返回true,无锁对象在访问时不会导致其他线程被阻塞
operator T() const //返回包含的值
T exchange (T val, memory_order sync = memory_order_seq_cst) //用val替换原先包含的值,并返回原先包含的值
T fetch_add (T val, memory_order sync = memory_order_seq_cst) //原子加法,返回原先包含的值加val
T fetch_sub (T val, memory_order sync = memory_order_seq_cst) //原子减法
T fetch_and (T val, memory_order sync = memory_order_seq_cst) //原子与操作
T fetch_or (T val, memory_order sync = memory_order_seq_cst) //原子或操作
T fetch_xor (T val, memory_order sync = memory_order_seq_cst) //原子异或操作
T operator++() //原子++
T operator--() //原子--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值