synchronized可以保护共享变量的原子性、可见性、有序性。因为如果共享变量完全被synchronized保护,那么共享变量在使用过程中不会有原子性、可见性、有序性问题的。但是他不会阻止代码块内的指令重排序。
volatile只可以保证可见性和有序性。volatile 修饰的变量,可以禁用指令重排。
欢迎分享,转载请注明来源:内存溢出
synchronized可以保护共享变量的原子性、可见性、有序性。因为如果共享变量完全被synchronized保护,那么共享变量在使用过程中不会有原子性、可见性、有序性问题的。但是他不会阻止代码块内的指令重排序。
volatile只可以保证可见性和有序性。volatile 修饰的变量,可以禁用指令重排。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)