volatile保证了线程安全的可见性,是由jvm提供的机制。
java内存模型对volatile关键字定义的特殊规则。
1,每次使用volatile变量前,都刷新主内存,从而保证了volatile变量对线程的可见性。
2,每次修改volatile变量后必须立刻同步回主内存中,用于保证其他线程可以看到自己对变量V所做的修改。
3,volatile修饰的变量不会被指令重排序优化,以保证代码的执行顺序与程序的顺序相同。
volatile保证了线程安全的可见性,是由jvm提供的机制。
java内存模型对volatile关键字定义的特殊规则。
1,每次使用volatile变量前,都刷新主内存,从而保证了volatile变量对线程的可见性。
2,每次修改volatile变量后必须立刻同步回主内存中,用于保证其他线程可以看到自己对变量V所做的修改。
3,volatile修饰的变量不会被指令重排序优化,以保证代码的执行顺序与程序的顺序相同。