社区
Java SE
帖子详情
volatile 具体是什么意思?
wynton
2006-09-20 07:24:21
private volatile double d = 1;
书上的解释是"d 被标记为volatile的,以确保编译器不会对任何读取此值的操作进行优化". 那位高人能否给详细解释一下?谢谢!
...全文
254
4
打赏
收藏
volatile 具体是什么意思?
private volatile double d = 1; 书上的解释是"d 被标记为volatile的,以确保编译器不会对任何读取此值的操作进行优化". 那位高人能否给详细解释一下?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bubble1000
2010-06-13
打赏
举报
回复
great
wynton
2006-09-20
打赏
举报
回复
Nobody is interested in this topic! Done.
wynton
2006-09-20
打赏
举报
回复
Thanks a lot!
等待一下其他人的参与,然后就结帖,给分! :-)
anhy
2006-09-20
打赏
举报
回复
关于volatile
我们知道,在Java中设置变量值的操作,除了long和double类型的变量外都是原子操作,也就是说,对于变量值的简单读写操作没有必要进行同步。这在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。要解决这个问题,只需要像在本程序中的这样,把该变量声明为volatile(不稳定的)即可,这就指示JVM,这个变量是不稳定的,每次使用它都到主存中进行读取。一般说来,多任务环境下各任务间共享的标志都应该加volatile修饰。
http://www.java-asp.net/java/200512/t_49618.html
http://www.cublog.cn/opera/showart.php?blogid=23216&id=159925
volatile
unsigned int
什么意思
博客主要探讨了
volatile
unsigned int中
volatile
的含义及使用场景。
volatile
用于告知编译器,编程时对该变量不进行优化。在一般程序设计中,编译器会为提高速度进行优化,但使用
volatile
可防止因变量值改变导致程序结果出错,多用于嵌入式编程。
volatile
和__
volatile
__是
什么意思
?
博客介绍了C语言中
volatile
和__
volatile
__关键字。
volatile
是C语言关键字,gcc又定义了__
volatile
__,二者意思相同。因编译器常优化以减少访存,加
volatile
修饰的变量,编译器不对其读写操作优化,直接访存。__asm__ __
volatile
__指示编译器不改动优化后面的汇编语句。
C++中
volatile
的
具体
含义和可能的坑
本文详细解释了
volatile
关键字的作用,对比了它与atomic的不同,指出
volatile
不保证原子性,并探讨了在C++中各自的性能影响,特别强调了在MSVC和Intel处理器上的行为。同时,文章也讨论了
volatile
在实际编程中的应用场景和限制。,
掉了两根头发,可算是把
volatile
整明白了
本文深入解析Java中
volatile
关键字的两大核心作用:保证变量对线程的内存可见性,以及通过内存屏障禁止指令重排。指出
volatile
无法保证原子性,以count++为例说明其非原子操作的三步执行过程及竞态风险;并通过单例模式字节码分析lock addl指令如何实现内存屏障。强调
volatile
适用于状态标志等简单场景,复杂同步仍需synchronized或Lock。
C语言中
volatile
是
什么意思
本文深入讲解了C语言中
volatile
关键字的含义与应用场景,包括硬件寄存器、中断服务子程序和多线程环境中的变量共享等方面,强调了
volatile
在嵌入式系统编程中的重要性。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章