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

网站做百度百科的好处石家庄电力设计公司

网站做百度百科的好处,石家庄电力设计公司,常德小学报名网站,卡板技术支持 东莞网站建设volatile作用 确保数据每次都从源头读取,即每次都从内存中读取,不从缓存中读取。 这样做的目的是确保不会被优化 int i 0;int main(int argc, char **argv) {const char *str;if (i 0) {str "hello";} else {str "world";}ret…

volatile作用

确保数据每次都从源头读取,即每次都从内存中读取,不从缓存中读取。
这样做的目的是确保不会被优化

int i = 0;int main(int argc, char **argv)
{const char *str;if (i == 0) {str = "hello";} else {str = "world";}return 0;
}

如上一段代码,从main中可以确定i一定等于0,所以在优化后就会直接让str = "hello";
但是其他线程可能会修改i的值,这样就会出错。加上volatile这段比较代码就不会被优化

volatile为什么不等于原子操作

1、修改一个变量的值会经过以下三个步骤

  1. 从内存读取值 ( R )
  2. 在算术逻辑单元ALU进行计算 ( M )
  3. 将计算后的值写回内存 ( W )

两个线程都对加上volatile的整形变量x累加,初始值为0

  1. p1读取到x的值
  2. p1对x进行累加
  3. p2读取x的值
  4. p1将x写回内存
  5. p2对x进行累加
  6. p2将x写回内存

最终结果x将会是1,显然是错误的
可以让p1读取前先锁定内存总线,在写完后释放内存总线

http://www.yayakq.cn/news/985561/

相关文章:

  • 52做网站东莞网站制作找哪里
  • 资讯网站做app建e网3d模型免费下载
  • 网站开发的需求活动宣传推广方案怎么写
  • 网站建设 全包 模板织梦网站根目录标签
  • 公司网站服务器租用苏州哪里做网站好
  • 珠宝类企业网站(手机端)简述网站建设的步骤
  • 天津企业网站建设开发维护王烨辉
  • 百度软文推广怎样收费网站建设和seo讲师要求
  • 免费户型设计网站网站收缩广告
  • 如何把网站扒下来网站开发免费视频教程
  • 环保网站建设开发辽宁省建设培训中心网站
  • 邢台市住房和城乡建设局官方网站用开源吗做的网站可以用吗
  • 网站推广与维护设计方案广东公共广告20120708
  • 从零开始学Wordpress建站上海注册公司注册资本
  • 阿里巴巴网站建设要多少钱课程网站建设所用技术
  • 云vps怎么搭建网站教育在线网站怎样做直播
  • 做网站需要规划好什么深圳商业网站建设
  • 郑州网站开发顾问厦门翔安建设局网站
  • 南京网站制作有限公司旅游网站制作
  • 上班没事做看什么网站住房和城乡建设部网站安广东省
  • 公司网站建设维护管理办法温州营销网站制作联系电话
  • 手机网站pc网站dedecms搭建网站
  • 搞网站建设赚钱不怎么给网站有一字做标记
  • 网站集约化建设情况备案的时候网站建设方案书要吗
  • 网站改版怎么做WordPress调用画廊
  • 创新的中小型网站建设垂直类网站怎么做推广
  • 专业网站优化关键词宝安做网站公司乐云seo
  • 网站开发建设费用包括那些php 企业网站 后台图片上传
  • 公司网站背景图广州建设网站开发
  • 网站建设邀标比选做网站交互效果用什么软件