volatile的深入理解--【sky原创】
2024-08-25 06:18:11
volatile
所有定义的变量都是在内存上面的,
例如:
int i = 10;
int j = i;
int k = i;
i = 10; 是初始化的变量,存放在数据段,未初始化的变量存放在bss段
也就是i为左值时存放在内存上
j = i 此时 i 为右值,那么i的值在寄存器上,j就从寄存器上面取值
由于编译器的原因可能导致编译过程中寄存器上的值会改变
,那么 k 取到的值就不是我们想要的了
如果加了volatile int k = i ;
那么k每次就从内存上取值,保证了取值的正确性
新浪博客:http://blog.sina.com.cn/u/2049150530
csdn博客:http://blog.csdn.net/u011749143
博客园:http://www.cnblogs.com/sky-heaven/
新浪微博:张昺华--sky
知乎:http://www.zhihu.com/people/zhang-bing-hua
最新文章
- hexo建个人博客
- ListIterator接口,双向输出。
- Ubuntu 12.04安装Adobe Reader
- 【BZOJ】1104: [POI2007]洪水pow
- C++学习网站
- php中include包含文件路径查找过程
- bing 输入法,切换简体、繁体快捷键与myeclipse 格式化代码冲突。。
- jquery鼠标样式
- UVALive 4394 String painter
- js 定义函数的几种方法 以及如何调用
- 客户端是选择Java Swing还是C# Winform
- C++sort函数使用总结
- AJAX 创建表格
- 类string解析
- 代理模式与java中的动态代理
- 在DirectShow的视频图像上叠加线条和文字
- 一览Django框架(转载)
- SimpleDateFormat中parse和format的区别
- 【源码解析】Sharding-Jdbc模块分析
- jsp EL表达式原样输出问题
热门文章
- 【BZOJ2299】[HAOI2011]向量(数论)
- install ubuntu env
- A1049. Counting Ones
- 【洛谷P1072】Hankson 的趣味题
- win7(旗舰版)下,OleLoadPicture 加载内存中的图片(MagickGetImageBlob),返回值 <; 0
- SQL语句中 int 溢出 + Asp语句中 Long 溢出
- MUI 当input聚焦之后,弹出自带的键盘之后,内容往上移动
- Port Forwarding in Windows
- iPhone电源键坏了怎么开机和关机?
- Linux重启服务器步骤