c语言fetch函数的用法,fetch_add
fetch_add
描述 (Description)
它自动原子地将参数添加到存储在原子对象中的值,并获得先前保存的值。
声明 (Declaration)
以下是std :: atomic :: fetch_add的声明。T fetch_add (T val, memory_order sync = memory_order_seq_cst) volatile noexcept;
C++11T fetch_add (T val, memory_order sync = memory_order_seq_cst) noexcept;
以下是std :: atomic :: fetch_add的声明(仅限原子成员) 模板专业化)。T fetch_add (ptrdiff_t val, memory_order sync = memory_order_seq_cst) volatile noexcept;
C++11T fetch_add (ptrdiff_t val, memory_order sync = memory_order_seq_cst) noexcept;
参数 (Parameters)arg - 用于添加算术加法的另一个参数。
order - 用于强制执行值的内存顺序。
返回值 (Return Value)
它以* this的修改顺序返回紧接此函数效果之前的值。
异常 (Exceptions)
No-noexcept - 这个成员函数永远不会抛出异常。
例子 (Example)
在下面的示例中为std :: atomic :: fetch_add。#include
#include
#include
std::atomic data;
void do_work() {
data.fetch_add(1, std::memory_order_relaxed);
}
int main() {
std::thread th1(do_work);
std::thread th2(do_work);
std::thread th3(do_work);
std::thread th4(do_work);
std::thread th5(do_work);
th1.join();
th2.join();
th3.join();
th4.join();
th5.join();
std::cout << "Ans:" << data << '\n';
}
样本输出应该是这样的 -Ans:5
c语言fetch函数的用法,fetch_add相关推荐
- php函数find的用法,c语言find函数的用法详解
c语言find函数的用法详解 C语言之find()函数 find函数用于查找数组中的某一个指定元素的位置. 比如:有一个数组[0, 0, 5, 4, 4]: 问:元素5的在什么位置,find函数 返回 ...
- C语言“fread”函数的用法?
C语言"fread"函数的用法为"size_tf read(void *buffer,size_t size,size_t count,FILE *stream)&quo ...
- linux之getcwd函数解析,Linux 中C语言getcwd()函数的用法
Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将 ...
- c语言get()的作用,c语言get函数的用法有哪些
C语言中gets从标准输入设备读字符串函数,可以无限读取,不会判断上限,今天学习啦小编在这里为大家介绍C语言get函数的用法,欢迎大家阅读! c语言get函数的用法:int getc(FILE *st ...
- R语言 diag函数的用法
R语言 diag函数的用法 我们今天写一下关于R语言中diag函数的用法: (1)diag函数可以用来提取矩阵的对角元素,并将它保存成向量的格式.值得注意的是,如果所要提取的矩阵不是方阵的话,diag ...
- C语言 strstr函数的用法及模拟实现strstr函数
C语言 strstr函数的用法及模拟实现strstr函数 一.strstr函数的用法 二.模拟实现strstr函数的功能 一.strstr函数的用法 1.strstr函数原型:char* strstr ...
- 计算机科学类专升本复习之“C语言fopen函数的用法”详解(初稿)
C语言fopen函数的用法,C语言打开文件详解 在C语言中,"操作文件" 之前 必须 先"打开文件"; 所谓"打开文件",就是让 " ...
- c语言fread函数,C语言“fread”函数的用法?
C语言"fread"函数的用法? C语言"fread"函数的用法为"size_tf read(void *buffer,size_t size,siz ...
- c语言memcpy是什么,C语言memcpy函数的用法
介绍 memcpy是memory copy的缩写,意为内存复制,在写C语言程序的时候,我们常常会用到它.它的函原型如下: void *memcpy(void *dest, const void *sr ...
最新文章
- CPU的插槽类型LGA与Socket 的区别
- iOS Hacker obfuscator-llvm Xcode集成配置
- 提问的智慧 如何得到好的帮助(转)
- navicat导出数据到oracle,使用Navicat premium导出oracle数据库中数据到SQL server2008数据库中...
- uni-app使用input框 v-model双向绑定不起作用解决方案
- 利用多线程实现linux下C语言的聊天室程序:
- PAT 乙级1001 害死人不偿命的(3n+1)猜想
- 1192. [HNOI2006]鬼谷子的钱袋【进制】
- centos6.5 mysql配置整理
- matlab 三维矩阵 reshape,matlab中的reshape及3D数组reshape的注意事项转载
- MAC中让右键菜单出现终端(命令行)打开文件夹的功能
- Python之 多重循环
- RN 开发遇到的问题之传参函数错误Invariant Violation: Maximum update depth exceeded.
- 【硬件】电容和电感串联接地的作用
- Unity中实现3D拾取功能及其原理
- 求1到100之间所有能被3整除的整数的和
- 美图秀秀经典版 4.0.1下载
- 中国电脑教育报:网上开店与购物秘籍
- Apple iWork(Pages、Numbers、Keynote)11.0 发布
- 1110. 删点成林
热门文章
- jdbc 中 excute executeUpdate的用法作用
- Reveal越狱+非越狱使用
- 【项目】数仓项目(七)
- 中国联通国家数据中心河北石家庄IDC机房(四星级)
- MAC安装MacPorts 卡在“正在运行软件包脚本”的解决办法(100%完美解决)
- QQ面板上的所有链接按钮、qq聊天窗口中的那些超级链接打不开的原因
- 活着感悟,加一堆各种想像
- 嘉立创科技PCB打样究竟快在哪?
- Arcgis中实现平面坐标向经纬度转换
- 《Temple Run》系列衍生放置cq9电子游戏《Temple Run:Idle Explorers》于双平台推出试玩