linux互斥锁 多个线程可以读一个变量,只有一个线程可以对这个变量进行写,到底要不要加锁?

多个线程可以读一个变量,只有一个线程可以对这个变量进行写,到底要不要加锁?

下面简要解释一下原因:

linux互斥锁 多个线程可以读一个变量,只有一个线程可以对这个变量进行写,到底要不要加锁?

锁定是因为操作不是原子的。让我们用操作一来解释它。看下面两个图。

我这个操作需要

看上面的第二个图,你能很清楚地理解这个过程吗?

锁定是为了确保上述三个步骤是原子操作。

回到问题上来,只有一个线程要写,没有竞争,所以不需要锁定。

但是,如果你看第一张图片,因为主内存和本地内存的存在

在一个线程写入后,其他线程无法立即看到它。这就是可见性问题。

添加volatile关键字后,它将在操作后强制工作内存和主内存同步,以确保其他线程可以立即看到它。

linux驱动开发使用全局变量都有哪些坏处?

即使是静态的,全局变量越少越好。

不仅仅是Linux,裸机上也是如此。将相关变量放入一个结构中,然后在使用时动态划分,这样可以减少代码的总体大小,节省内存。调试更方便。以前的调试也遇到过类似的情况,因为我编写的链接脚本不包含公共段,并且全局变量是随机的。您可能会怀疑直接使用静态变量比使用机构体更有效。事实上,并非如此。结构体到结构体的参数转换在编译时解决,对运行时影响不大。学习Linux的人都是我的朋友。欢迎交流

标签:

最新文章

  1. 虾与什么食物相克(虾和什么不能同吃?)2025-03-25
  2. 做互联网推广最核心的能力 从事互联网运营需要哪些能力?2025-03-15
  3. 轻薄的粉底液用什么上妆 怎么涂粉底液既遮瑕又轻薄?2025-03-24
  4. 如何在联通营业厅取消套餐 联通营业厅套餐取消步骤2025-03-11
  5. 戴尔vostro1400几年出的 电脑戴尔1400bios怎么进入?2025-04-01
  6. 怎么取消苹果电脑的管理员2025-03-13
  7. 华为nova4e怎样找回手机指纹锁 华为nova4e手机壳遮指纹怎么搜?2025-03-15
  8. excel怎么在数字前补零 在Excel中输入数字后面自动填充几个0零的方法?2025-04-01
  9. redis在实际开发当中的例子 Redis服务支持5000万的QPS,有什么好的思路?2025-03-27
  10. 如何快速办理小型机动车六年免检手续2025-03-06
  11. 万网域名申请 如何确定域名是属于自己的?2025-03-26
  12. 钉钉加班时长是按几小时累计 钉钉管理员怎么设置调休天数?2025-03-23
  13. 学android要学java吗 Java、Java Web、JavaScript和Android中的Java他们之间有什么联系与区别?2025-03-31
  14. cf财富值活动入口2020 穿越火线财富值怎么算?2025-03-26
  15. ios付费app账号分享 有哪些赚钱软件?2025-03-28
  16. java web 我儿子是程序员,每天连续加班到半夜一点,我感觉我的心都在滴血,怎么办?2025-04-01
  17. 大鱼号介绍怎么填写2025-03-14
  18. 建行网银原始密码 建设银行网银登陆默认密码是多少?2025-03-27
  19. 如何编程 全世界有上千种编程语言,为什么程序员都只学习那几个主流语言?2025-03-27
  20. qq怎样不加好友邀请群聊 qq怎么设置不让好友拉进群?2025-03-23
  21. 网站前端 web前端主要是用来做什么的,难学吗?2025-03-26
  22. 安卓一键新机改串软件 手机如何修改串码?2025-03-27
  23. 网页设计基础 网站建设需要多少钱?都有哪些成本?2025-03-27
  24. 如何把笔记本电脑当成显示器(笔记本电脑如何作为台式机显示器?)2025-03-17
  25. 点c为弧ab的中点说明什么 如图,AB为⊙O的直径,C是半圆弧AB的中点,P是弧AC上的一点,连接PA,PC?2025-03-29
  26. java是什么 怎样实现java web应用系统授权license功能?2025-04-01
  27. 淘宝怎么领取福袋活动 淘宝上的福袋是否物超所值?2025-03-16
  28. 谈谈你对网络营销的认识 网络营销给传统营销带来哪些冲击?2025-03-31
  29. 中山市西区 中山市区和西区有什么区别?2025-03-17
  30. 家具十大品牌排名(品牌家具排名前十名有哪些呢?)2025-03-18
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 行测80分蒙题技巧 请问公考,真的可以放弃数量和资料分析吗?

    请问公考,真的可以放弃数量和资料分析吗?数量必须放在最后一位。数据分析是最大的得分点,不能放弃。通常,经过大量的练习,大多数人在20道题中至少会犯一个错误,最多会犯三个错误,时间可以缩短到30-35分钟。数据分析的类型比较固定,只要公式使用

  2. 2 加盟食品店 食品企业如何进行营销策划?

    食品企业如何进行营销策划?看看其他答案,我觉得思维太传统了,而且没有干货,所以我忍不住回答。食品企业的营销策划要打破传统,进行系统的品牌创新,赢得未来!如何实现创新?1. 杜绝简单粗放的材料要求,如产品质量、产地、不添加、功能和功效等!因为

  3. 3 域名注册需要哪些条件 域名注册有效期是多长?

    域名注册有效期是多长?1. 用户必须为域名注册付费。域名注册是一个出租的概念,不是一次性付款就拥有和永远使用域名。域名注册不提供试用。如果你想在注册后注册另一个域名,你必须再次支付注册费用。2在我们的商务客户增值服务活动中,我们允许用户自由

  4. 4 网站 世界五百强企业有哪些优势?

    世界五百强企业有哪些优势?谢谢你的邀请!世界500强有太多的优势。首先,它的技术特别先进,竞争能力特别强。在一定范围内具有垄断性,产值也很高。这也标志着企业在世界上的重要地位。它在投资、贷款、融资等方面具有诸多优势。此外,它在全球经济发展中

  5. 5 网络营销的主要策略 旅游景区网络营销三大策略是什么?

    旅游景区网络营销三大策略是什么?1. 创造高质量创意内容的营销新局面:通过有效手段,在有效渠道传播有趣内容。知识产权、创意营销、跨行业合作;2。营销策略整合多种营销手段结合旅游场景:结合KOL,做口碑营销、视频营销、H5营销;3。优质的传播

  6. 6 集团公司成立条件 集团公司控股公司与子公司的关系?

    集团公司控股公司与子公司的关系?集团公司的控股公司是指公司控股的多股东公司,子公司是指公司的全部股份。集团与下属公司的关系是总公司与分公司的关系还是母公司与子公司的关系?根据下属公司的性质,如果下属公司是指分公司,那么集团公司和下属公司是总

  7. 7 友元函数的声明和定义 在C 中,可以被派生类继承的函数是什么?为什么构造函数,析构函数,友元函数不能被派生类继承呢?

    在C 中,可以被派生类继承的函数是什么?为什么构造函数,析构函数,友元函数不能被派生类继承呢?构造函数、复制构造函数、赋值函数、析构函数和友元函数不能被继承。但是,因为friend不是成员函数,所以在这里进行解释friend是在类外定义的

  8. 8 java生成验证码 我已经用java生成了一个二维码了,怎样让扫描二维码后,读取到一个word文档,大神?

    我已经用java生成了一个二维码了,怎样让扫描二维码后,读取到一个word文档,大神?一般来说,word文档放在互联网上,可以通过链接访问,然后将链接做成二维码

  9. 9 javascript编程基础 既然Javascript有这么多缺陷,那为什么人们不参考它的功能开发一门新语言而是一直对它修改呢?

    既然Javascript有这么多缺陷,那为什么人们不参考它的功能开发一门新语言而是一直对它修改呢?JavaScript语言只花了十天时间就完成了设计,自然的设计并不完美。甚至,一旦页面打开,弹出的小广告,都是用JS完成的。随着Google地

  10. 10 域名查询 域名对seo有什么影响?

    域名对seo有什么影响?域名是网站的地址,是用户对网站的第一印象。用户能否快速记住域名对于网站的发展至关重要。那么,域名对SEO有什么影响?1. 域名长度对搜索引擎优化的影响域名就像一个指路牌。它可以引导蜘蛛抓取网站,用户也可以通过域名直接

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图