std::atomic原子变量
发布时间:2022-07-12 栏目:C++ 评论:0 Comments
使用原子操作来控制线程顺序,可以实现一个类似于互斥锁这么一个概念
每个 std::atomic 模板的实例化和全特化定义一个原子类型。若一个线程写入原子对象,同时另一线程从它读取,则行为良好定义。
原子操作std::atomic与互斥量的区别
1)互斥量:类模板,保护一段共享代码段,可以是一段代码,也可以是一个变量。
2)原子操作std::atomic:类模板,保护一个变量。
为何需要原子操作std::atomic
上面可以看到,为何已经有互斥量了,还要引入std::atomic呢,这是因为互斥量保护的数据范围比较大,我们期望更小范围的保护。并且当共享数据为一个变量时,原子操作std::atomic效率更高。
留下评论
You must be logged in to post a comment.
近期评论
- Pika发表在《莫里斯蠕虫(Morris Worm)》
- Pika发表在《多组学科研分析》
- crisy发表在《最近关于专利的一点感想》
- walter发表在《机器学习基础知识回顾-马尔科夫过程(Markov Process)》
文章归档
- 2024年3月
- 2024年2月
- 2023年12月
- 2023年11月
- 2023年10月
- 2023年9月
- 2023年8月
- 2023年7月
- 2023年6月
- 2023年5月
- 2023年4月
- 2023年3月
- 2023年2月
- 2023年1月
- 2022年12月
- 2022年11月
- 2022年9月
- 2022年8月
- 2022年7月
- 2022年6月
- 2022年5月
- 2022年3月
- 2022年2月
- 2022年1月
- 2021年12月
- 2021年11月
- 2021年10月
- 2021年9月
- 2021年8月
- 2021年7月
- 2021年6月
- 2021年5月
- 2021年4月
- 2021年2月
- 2021年1月
- 2020年12月
- 2020年11月
- 2020年10月
- 2020年8月
- 2020年7月
- 2020年6月
- 2020年5月
- 2020年4月
- 2020年3月
- 2020年2月
- 2019年7月
- 2019年5月
- 2019年3月
- 2019年1月
- 2018年6月
- 2018年5月
- 2018年4月
- 2018年3月
- 2018年2月
- 2017年11月
- 2017年7月
- 2017年6月
- 2017年5月
- 2017年3月
- 2016年12月
- 2016年11月
- 2016年10月
- 2016年9月
- 2016年8月
- 2016年7月
- 2016年6月
- 2016年5月
- 2016年4月
- 2016年3月
- 2016年2月
- 2016年1月
- 2015年12月
- 2015年11月