volatile&synchronized关于对共享变量保护的比较

        synchronized可以保护共享变量的原子性、可见性、有序性。因为如果共享变量完全被synchronized保护,那么共享变量在使用过程中不会有原子性、可见性、有序性问题的。但是他不会阻止代码块内的指令重排序。

volatile只可以保证可见性和有序性。volatile 修饰的变量,可以禁用指令重排。                

猜你喜欢

转载自blog.csdn.net/Mrrr_Li/article/details/121507309