volatile关键字在Java中有什么作用

更新时间:01-28 教程 由 毒盅 分享

volatile关键字在Java中有什么作用?

volatile是防止指令重排序来保证可见性

对于JVM层面是防止编译器的重排序

同时,对于有些cpu来说,他们会通过缓存锁或者中线索来解决缓存可见性

但是,目前很多cpu都做了优化,因为缓存一致性MESI会带来性能开销,所以用到了storebuffer机制来做异步处理,而这种机制带来了指令的乱序执行。从而导致可见性问题。

那么volatile会在cpu层面会增加内存屏障,来解决cpu的乱序执行带来的可见性问题

声明:关于《volatile关键字在Java中有什么作用》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2204109.html