原子操作库

来自cppreference.com
< cpp


 
 
原子操作库

|- class="t-nv-h1"

| colspan="5" |
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

|-

|- class="t-nv-h1"

| colspan="5" |
功能
原文:
Functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

|-

|- class="t-nv-h1"

| colspan="5" |
原子标志
原文:
Atomic flags
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

|-

|- class="t-nv-h1"

| colspan="5" |
初始化
原文:
Initialization
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

|-

|- class="t-nv-h1"

| colspan="5" |
内存排序
原文:
Memory ordering
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

|-

atomic(C++11)
atomic_is_lock_free(C++11)
atomic_store
atomic_store_explicit
(C++11)
(C++11)
atomic_load
atomic_load_explicit
(C++11)
(C++11)
atomic_exchange
atomic_exchange_explicit
(C++11)
(C++11)
atomic_compare_exchange_weak
atomic_compare_exchange_weak_explicit
atomic_compare_exchange_strong
atomic_compare_exchange_strong_explicit
(C++11)
(C++11)
(C++11)
(C++11)
atomic_fetch_add
atomic_fetch_add_explicit
(C++11)
(C++11)
atomic_fetch_sub
atomic_fetch_sub_explicit
(C++11)
(C++11)
atomic_fetch_and
atomic_fetch_and_explicit
(C++11)
(C++11)
atomic_fetch_or
atomic_fetch_or_explicit
(C++11)
(C++11)
atomic_fetch_xor
atomic_fetch_xor_explicit
(C++11)
(C++11)
atomic_flag(C++11)
atomic_flag_test_and_set
atomic_flag_test_and_set_explicit
(C++11)
(C++11)
atomic_flag_clear
atomic_flag_clear_explicit
(C++11)
(C++11)
atomic_init(C++11)
ATOMIC_VAR_INIT(C++11)
ATOMIC_FLAG_INIT(C++11)
memory_order(C++11)
kill_dependency(C++11)
atomic_thread_fence(C++11)
atomic_signal_fence(C++11)
 

原子库提供了细粒度的原子操作组件,允许无锁的并发编程。每一个原子操作与其他任何涉及到同一个对象的原子操作是不可分割的。原子对象是唯一没有数据竞争的C++对象,也就是说,如果一个线程对原子对象进行改写的同时有另一个线程对该对象进行读取,其行为是定义良好的.

在头文件 <atomic> 中定义

目录

原子类型
原文:
Atomic types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
(C++11)
原子类模板及其布尔型,整型和指针类型的特化
(类模板) [edit]
检查对该原子类型的操作是否是无锁的
(函数模板) [edit]
对原子类型的操作
原文:
Operations on atomic types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
以原子方式将原子对象的值替换为非原子对象的值
原文:
atomically replaces the value of the atomic object with a non-atomic argument
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
(C++11)
(C++11)
以原子方式获取原子对象中的值
原文:
atomically obtains the value stored in an atomic object
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
以原子方式将原子对象的值替换为非原子对象的值,并返回原子对象的旧值
原文:
atomically replaces the value of the atomic object with non-atomic argument and returns the old value of the atomic
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
以原子方式比较原子对象和非原子对象的值,如果相等则执行原子交换,如果不相等则执行原子加载
原文:
atomically compares the value of the atomic object with non-atomic argument and performs atomic exchange if equal or atomic load if not
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
向原子对象的值中添加非原子对象的值,并返回原子对象的旧值
原文:
adds a non-atomic value to an atomic object and obtains the previous value of the atomic
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
从原子对象的值中减去非原子对象的值,并返回原子对象的旧值
原文:
subtracts a non-atomic value from an atomic object and obtains the previous value of the atomic
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
将原子对象的值替换为它和非原子对象的值的逻辑AND结果,并返回旧值
原文:
replaces the atomic object with the result of logical AND with a non-atomic argument and obtains the previous value of the atomic
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
将原子对象的值替换为它和非原子对象的值的逻辑OR结果,并返回旧值
原文:
replaces the atomic object with the result of logical OR with a non-atomic argument and obtains the previous value of the atomic
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
将原子对象的值替换为它和非原子对象的值的逻辑XOR结果,并返回旧值
原文:
replaces the atomic object with the result of logical XOR with a non-atomic argument and obtains the previous value of the atomic
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
标记类型和操作
原文:
Flag type and operations
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
(C++11)
无锁的布尔原子类型
原文:
the lock-free boolean atomic type
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(类) [edit]
以原子方式设置标志为true,并返回其先前的值
原文:
atomically sets the flag to true and returns its previous value
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
以原子方式设置标志为false
原文:
atomically sets the value of the flag to false
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
初始化
原文:
Initialization
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
(C++11)
默认构造的原子对象的非原子初始化
(函数模板) [edit]
(C++11)
一个原子变量,表示常量初始化的静态存储持续时间
原文:
constant initialization of an atomic variable of static storage duration
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数宏) [edit]
std::atomic_flag 初始化为 false
(常量宏) [edit]
内存同步顺序
(C++11)
为给定的原子操作定义内存排序约束
(typedef) [edit]
(C++11)
std::memory_order_consume的依赖关系树中删除指定的对象
原文:
removes the specified object from the std::memory_order_consume dependency tree
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数模板) [edit]
通用的内存顺序相关的的栅栏同步原语
原文:
generic memory order-dependent fence synchronization primitive
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
执行在同一线程的,线程和信号处理器之间的栅栏
原文:
fence between a thread and a signal handler executed in the same thread
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]

[编辑] 另见

C语言文档 for 原子操作库