java中对象或者数组用volatile修饰有什么用

java中对象或者数组用volatile修饰有什么用,第1张

就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会
volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值

volatile是个类型限定符 声明为volatile的变量表明它具有与优化相关的特殊属性。 volatile用于强制某个实现屏蔽可能的优化。 例如,对于具有内存映象输入/输出的机器,指向设备寄存器的指针可以声明为指向volatile的指针,目的是防止编译器通过

volatile 是把变量标识为“变化中的”。
意思是这个变量即使在(主线程)没有任何存取 *** 作的情况下也可能在(被其他线程)变化。
写上提醒注意线程安全。Java 14及之前版本加了这个的变量也没有同步安全。Java 5以后加了volatile后会在读取方面有同步安全。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12915385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存