atomic原子操作

news2025/1/4 19:11:59

        当一个程序中的两个线程同时向这个程序里的全局变量增加数时会发生什么?

        

        理论上来说,应该是200000,但是最后结果不是200000。 这是多个线程同时操作一个全局变量引起的错误。

        要解决这个错误,用互斥锁即可:

        这样就可以成功,但是这样会增加运行的时间。 运行时间如下:

        此时,引入原子操作。

        原子,在化学中意味着不可再分,在编程中就意味着操作不可被打断。只要把原子操作作用在代码段里。

        互斥操作作用在语句上,而原子操作作用在变量上。

        需要有:

#include<atomic>

        显然,时间减少了。

        atomic 是一个模板类。c(0)是构造函数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/717524.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机视觉】DETR 系列的最新综述!

论文地址&#xff1a; https://arxiv.org/pdf/2306.04670.pdf项目地址&#xff1a; https://github.com/mindgarage-shan/trans_object_detection_surveyTransformer在自然语言处理(NLP)中的惊人表现&#xff0c;让研究人员很兴奋地探索它们在计算机视觉任务中的应用。与其他…

Spark | 性能调优原理与步骤 | 案例讲解

&#x1f525; 跟着梁哥打卡一波spark的性能调优&#xff5e; 文章目录 1、Spark调优原理与步骤2、Spark任务UI监控3、Spark调优案例3.1、资源配置优化3.2、利用缓存减少重复计算3.3、数据倾斜调优3.4、broadcastmap代替join3.5、reduceByKey/aggregateByKey代替groupByKey 1、…

为什么门店需要店务管理系统?店务管理系统的重要性有哪些?

随着经济市场的回暖&#xff0c;实体行业特别是门店都需要更好的营销手段以留住客户、转化客户&#xff0c;因此需要一个好的工具来完成对于店铺经营数据的实时了解和管理&#xff0c;这就需要用到店务经营管理系统。如蚓链数字化店务管理系统具备股东营销系统、收银系统及进销…

Linux5.12 rsync 远程同步

文章目录 计算机系统5G云计算第四章 LINUX rsync 远程同步一、rsync概述二、配置 rsync 服务1.配置rsync源服务器2.发起端 三、发起端配置 rsyncinotify1.修改rsync源服务器配置文件2.调整 inotify 内核参数3.安装 inotify-tools4.在另外一个终端编写触发式同步脚本 计算机系统…

7.4.2 【Linux】特殊设备 loop 挂载 (镜像文件不烧录就挂载使用)

挂载光盘/DVD镜像文件 如此一来我们不需要将这个文件烧录成为光盘或者是 DVD 就能够读取内部的数据了。 创建大文件以制作 loop 设备文件&#xff01; 创建大型文件 假设我要创建一个空的文件在 /srv/loopdev &#xff0c;那可以这样做&#xff1a; 将 512 块&#xff0c;每…

爱普生L358打印机墨仓有墨水但墨水指示灯常亮

产品类型&#xff1a;墨仓式多功能一体机 最大处理幅面&#xff1a;A4 涵盖功能&#xff1a;打印/复印/扫描 黑白打印速度&#xff1a;9ipm 耗材类型&#xff1a;分体式墨盒 打印分辨率&#xff1a;57601440dpi 问题描述&#xff1a; 爱普生L358彩…

RK3399平台开发系列讲解(入门篇)为什么需要学习Linux驱动

🚀返回专栏总目录 文章目录 一、为什么需要学习Linux驱动二、如何学习Linux驱动开发三、Linux 驱动学习的难点四、学习资料沉淀、分享、成长,让自己和他人都能有所收获!😄 一、为什么需要学习Linux驱动 学习Linux驱动开发有以下几个重要的原因: 深入理解系统底层:学习L…

【CSS】定位

&#x1f4dd;个人主页&#xff1a;爱吃炫迈 &#x1f48c;系列专栏&#xff1a;HTMLCSS &#x1f9d1;‍&#x1f4bb;座右铭&#xff1a;道阻且长&#xff0c;行则将至&#x1f497; 文章目录 标准流&#xff08;Normal Flow&#xff09;元素定位position属性静态定位-static…

(免费分享)基于springboot,vue在线小说系统

本系统功能包括&#xff1a; 普通用户端登录注册&#xff0c;小说的分类&#xff0c;日榜&#xff0c;月榜&#xff0c;年榜&#xff0c; 小说的阅读&#xff0c;分章节&#xff0c;小说的评论&#xff0c;收藏&#xff0c;推荐等等&#xff0c;以 及后台小说的维护&#xff0c…

Linux服务器扩容VG时报错 Couldn‘t create temporary archive name

今天扩容磁盘遇到失败报错。 [rootmysql ~]# vgextend rhel /dev/sdc1 Couldnt create temporary archive name. 原因&#xff1a;磁盘使用100%&#xff0c;无法执行挂载&#xff0c;须预留部分空间出来。解决办法&#xff1a;删掉其中无用文件、log日志继续操作即可。释放空间…

SpringBoot+Vue实现文件上传功能

目录 1.后端代码部分&#xff1a; 2.前端代码部分 3.效果展示 1.后端代码部分&#xff1a; RestController RequestMapping("/file") public class FileController {private final String UPLOAD_PATH "D:/OBS/";//这里写上你需要上传的路径&#xff…

对于大连企业而言如何提升网站的曝光率

对于大连企业而言&#xff0c;提升网站的曝光率是非常重要的&#xff0c;可以通过以下几种方式来实现&#xff1a; 1. 优化网站结构和内容&#xff1a;确保网站的结构清晰&#xff0c;布局合理&#xff0c;并且内容丰富、有吸引力。网站的页面加载速度也要快&#xff0c;以提升…

leetcode 110. 平衡二叉树

2023.7.4 平衡二叉树 &#xff0c;经典题目 。需要利用到之前求二叉树高度的思路。 先定义一个求高度的函数&#xff0c;然后使用递归的方式判断左子树和右子树的高度差是否小于等于1&#xff0c;下面上代码&#xff1a; class Solution { public:int get_length(TreeNode* cu…

C语言学习(三十二)---动态内存(一)

在昨天的内容中&#xff0c;我们学习有关结构体和联合体在内存中存储的相关问题&#xff0c;由于粗心&#xff0c;有一个代码重复了&#xff0c;感谢这位朋友的提醒&#xff1a; 现在已经对内容进行了修改&#xff0c;感谢朋友们的支持。 今天我们将学习有关动态内存的相关问…

Android Studio 和 Android Gradle 插件的已知问题

Android Studio 的已知问题 渲染 Compose 预览时出错 从 Android Studio Chipmunk 开始&#xff0c;如果您在问题面板中看到 java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner 或 java.lang.ClassNotFoundException: androidx.savedstate.R$id&#xff0c;…

大势速影:机载激光快速建模测绘装备

实景三维模型高逼真、高真实、高精度的展示地物的几何结构、纹理色彩、空间位置等信息&#xff0c;在当前测绘应急保障、规划等领域具备极大的应用价值。但是&#xff0c;激光雷达和倾斜摄影建模技术均无法较好的满足快速建模应用需求&#xff0c;具体表现在&#xff1a;激光点…

LiDAR SLAM 闭环——BoW3D: Bag of Words for Real-time Loop Closing in 3D LiDAR SLAM

先说总结 现算法已经开源&#xff0c;代码链接&#xff1a; GitHub - YungeCui/BoW3D: [RA-L] BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM. 背景 SLAM&#xff08;同时定位与地图构建&#xff09;是一种让机器人在构建环境地图的同时&#xff0c;定位…

zk集群启动异常:Error contacting service. It is probably not running.

# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/aspire/product-kafka3.4/zookeeper/bin/../conf/zoo.cfg Error contacting service. It is probably not running. 查看 是否 iptables 限制了 端口访问&#xff0c; 2181端口&#xff0c; 需要把…

浅谈企业信息化能源管理系统的设计与应用

安科瑞 华楠 摘要: 我国的经济社会不断发展&#xff0c;对环境和资源造成的压力也越来越大。为了促进经济和社会的协调发展&#xff0c;可持续发展的理念被提出&#xff0c;企业信息化能源管理系统应运而生。将上述管理系统应用在企业之中&#xff0c;可以节约能源&#xff0…

Linux下输出带背景颜色和字体颜色的文本

最近在用Go语言开发项目&#xff0c;在跟踪Go底层实现时发现控制台输出的文本有样式&#xff0c;发现linux下在控制台输出可以控制文本样式&#xff0c;在此做个整理。 目录 1.发现 2.命令行输出测试 3.Linux下样式文本 1.发现 以下是我的一段Go代码&#xff1a;test_exec…