volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值volatile是个类型限定符 声明为volatile的变量表明它具有与优化相关的特殊属性。 volatile用于强制某个实现屏蔽可能的优化。 例如,对于具有内存映象输入/输出的机器,指向设备寄存器的指针可以声明为指向volatile的指针,目的是防止编译器通过volatile 是把变量标识为“变化中的”。
意思是这个变量即使在(主线程)没有任何存取 *** 作的情况下也可能在(被其他线程)变化。
写上提醒注意线程安全。Java 14及之前版本加了这个的变量也没有同步安全。Java 5以后加了volatile后会在读取方面有同步安全。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)