当前位置: 首页 > news >正文

函数内部数据的有效访问的“加锁”操作

考虑一个问题:什么是对变量的有效访问?

我的回答是对变量写入特定有效数值后,再去进行读操作才是真正有效合法的。如果变量中未写入有效数据就去访问,那就是非法操作,程序运行过程中总是会遇到内存变量未写入有效数据的情况,正确的做法就是加一把“锁”(条件判断),只有当有“钥匙”(写入有效数据)才能运行。

函数内部使用if条件判断,只有当条件满足的时候才运行某些代码,我称之为“加锁操作”,之所以要单独记录下来是因为,最近在看以前同事写的stm32单片机代码,里面有好多个循环,例如串口中断服务函数、定时器中断服务函数、main()函数内部主循环,还有就是内嵌RTOS操作系统的各个任务,从宏观上看这些循环都是在运行的,现在就存在一个问题就是这写循环的运行先后顺序,特别是当某两个循环之间需要用到同一个全局变量的时候,如果使用全局变量的数值还没有准备好,如果不进行if加锁操作,直接访问就会遇到问题。正确的做法就是使用if条件判断加一把锁,只有当条件满足的时候才运行,如果条件不满足直接返回或者直接跳过去。因为各个循环都在运行,总有使用的全局变量被写入有效数值的情况,这个时候在另外一个循环中如果再遇到“这把锁”就可以解锁运行条件判断中的语句了,保证了全局变量数据的有效访问。

最后,函数就是一个“数据处理器”,也就是说重要的是数据本事,而不是数据存储单元代表的变量本身。变量本事是一个载体或者容器,起到存储数据的作用,也就是数据的“立足之地”,重要是这个“立足之地”里面的内容。

http://www.dtcms.com/a/447106.html

相关文章:

  • 湖北省建设厅投标报名官方网站wordpress网站加壳
  • 唐山设计网站公司电商网站有哪些使用场景
  • HashMap、HashTable、ConcurrentHashMap详解
  • 学校 html5 网站 案例北京网站建设认
  • pve网络从Linux bridge改为ovs bridge
  • 网络课程网站模板苏州招聘网站开发
  • 2025 AI 发展双轮驱动:技术突破与产业赋能的深度实践
  • asp.net 发布网站 ftp百度推广做网站什么价位
  • linux学习笔记(14)系统调用与库函数区别及进程替换
  • 网站建设修改建议沂水县住房和建设局网站
  • 微信公众号的网站开发海口的网站建设
  • 网址制作二维码东莞网络优化公司排名
  • 网站怎么做动态图片注册个网站域名多少钱一年
  • 建e室内设计网贴图百度seo新站优化
  • 10. Pandas 分组与聚合分析(groupby)
  • 8K 剪辑大显存显卡选型实战:RTX 4090(24G)vs RTX A6000(48G)—— 从 “够用” 到 “专业” 的决策指南(一)
  • 博星卓越网站建设实验代码凡科快图官网登录入口在线
  • edge 浏览器控制台空白解决方法
  • 免费电子版个人简历可编辑网站栏目页优化
  • 有了自己的网站怎样做后台可以做一键拨号和导航的网站
  • java基础-10 : API
  • 从零开始搭建私有服务器并部署网站
  • 华为官方网站手机商城首页网站策划与建设
  • wordpress 2个菜单做中英文智推教育seo课程
  • 广东网站建设网站中国建筑集团有限公司排名
  • 覆盖9个癌种,基于11671张病理切片训练的模型登上Nature子刊,可精准“读出”分子标志物,突破传统分类局限
  • 成年做羞羞的视频网站建设网站的公司要什么资质
  • edo网站建设网站设计分析怎么写
  • 做网站要注意的广东深圳网站建设服务
  • 中心理解题3【反面提对策、文段无对策、并列关系】