| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 720 人关注过本帖
标题:关于volatile的问题,请教各位ggjj
只看楼主 加入收藏
ldk0501
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-8
收藏
 问题点数:0 回复次数:2 
关于volatile的问题,请教各位ggjj

我们的程序里面经常见到这个关键字,请教这个字一般怎么用啊?有什么好处?
另外这两个又有什么区别?
int volatile nVint;
volatile int i=10;
麻烦各路高手指点名津
谢谢拉

搜索更多相关主题的帖子: ggjj volatile 
2006-09-08 20:38
HuiSky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-5-13
收藏
得分:0 

volatile是一个限定符,也称为keyword或描述符,"volatile 关键字指示字段可由操作系统、硬件或并发执行的线程在程序中进行修改。"
当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。
一般说来,volatile用在如下的几个地方:
1、中断服务程序中修改的供其它程序检测的变量需要加volatile;
2、多任务环境下各任务间共享的标志应该加volatile;
3、存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能由不同意义;
备注:
系统总是在 volatile 对象被请求的那一刻读取其当前值,即使上一条指令从同一对象请求值。而且,该对象的值在赋值时立即写入。volatile 修饰符通常用于由多个线程访问而不使用 lock 语句来序列化访问的字段。使用 volatile 修饰符能够确保一个线程检索由另一线程写入的最新值。


2006-09-09 11:06
ldk0501
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-8
收藏
得分:0 
谢谢这为兄弟指点!我有点懂了
2006-09-09 21:05
快速回复:关于volatile的问题,请教各位ggjj
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027517 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved